96 Commits

Author SHA1 Message Date
Mike Fährmann
53cdfaac37 [common] add reference to 'exception' module to Extractor class
- remove 'exception' imports
- replace with 'self.exc'
2026-02-15 10:57:22 +01:00
Mike Fährmann
a28fbbc3c6 [util] rename 'USERAGENT' to 'USERAGENT_GALLERYDL' 2026-01-03 10:31:48 +01:00
Mike Fährmann
00c6821a3f replace 2-element f-strings with simple '+' concatenations
Python's 'ast' module and its 'NodeVisitor' class
were incredibly helpful in identifying these
2025-12-22 11:26:04 +01:00
Mike Fährmann
d0f06be0d2 use 'operator +' when building 'pattern' 2025-12-20 22:07:44 +01:00
Mike Fährmann
968597a302 yield 3-tuples for Message.Directory
adapt tuples to the same length and semantics as other messages
2025-12-05 21:39:52 +01:00
Mike Fährmann
89be2f45e4 [mangadex] add 'data-saver' option (#8573) 2025-11-19 19:54:53 +01:00
Mike Fährmann
6c71b279b6 [dt] update 'parse_datetime' calls with one argument 2025-10-17 22:49:41 +02:00
Mike Fährmann
085616e0a8 [dt] replace 'text.parse_datetime()' & 'text.parse_timestamp()' 2025-10-17 17:43:06 +02:00
Mike Fährmann
214acc39e6 [mangadex] fix 'RuntimeError' for titles without a 'description' (#8389)
fixes regression introduced in 0a76cbc8c7
2025-10-12 09:37:15 +02:00
Mike Fährmann
5672a4181c [mangadex] update f-string usage 2025-10-01 21:36:02 +02:00
Mike Fährmann
0a76cbc8c7 [mangadex] extract more manga-related metadata (#8325) 2025-10-01 19:50:48 +02:00
Mike Fährmann
8b5ed1ce7c [mangadex] add 'covers' extractor (#4994) 2025-09-14 22:07:47 +02:00
Mike Fährmann
a097a373a9 simplify if statements by using walrus operators (#7671) 2025-07-22 20:57:54 +02:00
Mike Fährmann
096bc6f784 replace more '.format(…)' calls with f-strings (#7671) 2025-07-10 21:17:17 +02:00
Mike Fährmann
a619638178 [mangadex] allow 'ratings' to be a (comma-separated) string (#7799) 2025-07-10 16:46:18 +02:00
Mike Fährmann
d8ef1d693f rename 'StopExtraction' to 'AbortExtraction'
for cases where StopExtraction was used to report errors
2025-07-09 21:07:28 +02:00
Mike Fährmann
f2a72d8d1e replace 'request(…).json()' with 'request_json(…)' 2025-06-29 17:50:19 +02:00
Mike Fährmann
9dbe33b6de replace old %-formatted and .format(…) strings with f-strings (#7671)
mostly using flynt
https://github.com/ikamensh/flynt
2025-06-29 17:50:19 +02:00
Mike Fährmann
41191bb60a 'match.group(N)' -> 'match[N]' (#7671)
2.5x faster
2025-06-18 13:05:58 +02:00
Mike Fährmann
e08ec7e083 update copyright notices 2025-06-13 00:03:41 +02:00
Mike Fährmann
8ca9cc99b0 [mangadex:list] fix config lookups for 'list-feed' subcategory 2025-05-31 09:19:36 +02:00
Mike Fährmann
0dce9ad7c6 [mangadex] send Bearer token only when necessary
> Do not send authentication headers unless necessary for your API call
> Authenticated requests cannot be cached, so you're slowing yourself down.

https://api.mangadex.org/docs/02-authentication/
2025-05-12 15:08:13 +02:00
Mike Fährmann
7907d0d3bd [mangadex] add 'following' extractor (#7487)
also fixes the URL pattern for the Updates feed at
https://mangadex.org/titles/feed
2025-05-12 12:58:22 +02:00
Mike Fährmann
f88e42c194 [mangadex] implement login with client credentials
unless the legacy method still works for your account,
login now requires 4 values:

- client-id
- client-secret
- username
- password

where 'client-id' and 'client-secret' are the credentials
of a personal API client.

> Public clients are not yet available.
2025-05-12 11:57:34 +02:00
Mike Fährmann
5412b22dae [common] allow overriding more default 'User-Agent' headers (#6496)
ignore 'extractor.user-agent' if it is the default useragent value
and an extractor wants to set its own custom value
2024-11-26 21:50:28 +01:00
Mike Fährmann
cc07c81063 [mangadex] apply 'lang' only to chapter results (#6372) 2024-10-27 07:55:14 +01:00
Mike Fährmann
d34e2d56aa [mangadex] use '/manga' endpoint to get manga by author (#6372)
allows for more than 10 manga to be returned
2024-10-24 20:07:11 +02:00
Mike Fährmann
0fd98f67ba [mangadex] add 'author' extractor (#6372) 2024-10-24 14:57:17 +02:00
Mike Fährmann
2007cb2f59 [tests] check extractor category values 2024-01-19 14:21:09 +01:00
Mike Fährmann
33f228756a [mangadex] add 'list' extractor (#5025)
supports listing manga and chapters from list feed
2024-01-07 02:59:35 +01:00
Mike Fährmann
57fc6fcf83 replace '24*3600' with '86400'
and generalize cache maxage values
2023-12-18 23:57:22 +01:00
Mike Fährmann
a453335a9f remove test results in extractor modules
and add generic example URLs
2023-09-11 16:30:55 +02:00
Mike Fährmann
1d2b5d0c60 update test comment positions
always put them above the test they're referring to
2023-09-06 18:16:09 +02:00
Mike Fährmann
1ece3b92ff [mangadex] allow multiple values for 'lang' (#4093)
This was already possible by setting 'lang' to a list of strings,
but now it can also be done as a more command-line friendly string.

-o lang=fr,it
2023-07-26 17:39:27 +02:00
Mike Fährmann
a383eca7f6 decouple extractor initialization
Introduce an 'initialize()' function that does the actual init
(session, cookies, config options) and can called separately from
the constructor __init__().

This allows, for example, to adjust config access inside a Job
before most of it already happened when calling 'extractor.find()'.
2023-07-25 22:16:16 +02:00
Mike Fährmann
f3cca50b9e [mangadex] update links to API docs 2023-05-24 12:32:13 +02:00
Mike Fährmann
2266fc8cc5 [mangadex] update and extend test results 2023-05-07 20:14:49 +02:00
Janne Alaranta
1ce5dc9e18 fix whitespaces 2023-05-07 18:47:04 +03:00
Janne Alaranta
13dedae09f add status and tags info to mangadex extractor 2023-05-07 18:35:02 +03:00
Mike Fährmann
3d8777fbc1 move user agent string to util.py 2023-02-22 11:09:17 +01:00
Mike Fährmann
253ac08203 pre-define and use 'gallery-dö/<version>' UA string 2023-02-18 22:25:54 +01:00
Mike Fährmann
cd931e1139 update extractor test results 2022-12-08 18:58:29 +01:00
Mike Fährmann
4d1896830f [mangadex] download chapters with 'externalUrl' (fixes #2503)
if the have pages hosted on mangadex
2022-04-18 18:09:52 +02:00
Mike Fährmann
4ea9157d51 [mangadex] fix chapters without 'translatedLanguage' (#2352) 2022-03-01 02:04:25 +01:00
Mike Fährmann
c587b678d0 [mangadex] re-enable warning for external chapters (#2193) 2022-01-16 03:21:50 +01:00
Mike Fährmann
170711af7e [mangadex] fix extraction (closes #2177) 2022-01-08 17:21:35 +01:00
Mike Fährmann
11a3d96d13 [mangadex] load additional metadata using includes[] directives
- always provide 'artist', 'author', and 'group' metadata fields (#2049)
- remove 'metadata' option
2021-11-22 01:16:33 +01:00
Mike Fährmann
d93b5474c3 [mangadex] update parameter handling for API requests
- move common parameters into '_pagination()'
- add 'ratings' (#1908) and 'api-parameters' options
2021-10-05 19:46:48 +02:00
Mike Fährmann
96215c926e [mangadex] fix retrieving chapters from 'pornographic' titles
(fixes #1908)
2021-10-01 16:48:53 +02:00
Mike Fährmann
e69ee41f25 implement 'page-reverse' option (#1854) 2021-09-23 18:02:19 +02:00