Commit Graph

6816 Commits

Author SHA1 Message Date
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
enduser420
f77e98b57d [chzzk] add 'comment' and 'community' extractors (#7735 #7741)
* [chzzk] add 'comment' and 'community' extractors
* [chzzk] update
* [chzzk] add tests
* [chzzk] update docs/supportedsites
* [chzzk] add 'offset' option
* [docs] add 'offset' option to gallery-dl.conf
2025-06-28 15:27:19 +02:00
Mike Fährmann
c8e4a2f8d1 [comick] use 'chapter_hid' as default 'archive-format' (#6782)
'chapter_hid' seems to be all that is needed to uniquely identify a
chapter, as comick.io is able to redirect to a full chapter URL from
one that only includes this value:

https://comick.io/comic/_/L7TaJB4n
  ->
https://comick.io/comic/neko-no-oshigoto/L7TaJB4n-chapter-10.5-en
2025-06-28 09:02:33 +02:00
Mike Fährmann
d969dbbab1 [common] fix bug in df6f4e53 when first group is empty 2025-06-28 09:02:33 +02:00
Mike Fährmann
5e61fe8668 [rule34xyz] implement login with username & password (#7736) 2025-06-27 22:35:59 +02:00
Mike Fährmann
fde6110d96 [kemono] extend 'duplicates' option (#7696)
allow selecting which file type(s) ('file'/'attachment'/'inline')
not to consider when discarding duplicates
2025-06-27 21:32:34 +02:00
Mike Fährmann
c1db879b6c [scripts] publish 'pre-commit' hook script (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3010067010
2025-06-26 23:55:12 +02:00
Mike Fährmann
df6f4e5307 [common] only auto-set page_url when first group starts with / 2025-06-26 23:35:53 +02:00
Mike Fährmann
26e81e4162 [common] rename 'gallery_url'/'manga_url' to 'page_url 2025-06-26 22:06:57 +02:00
Mike Fährmann
8a93616a2d [webtoons] add 'banners' option (#6468) 2025-06-26 19:29:52 +02:00
Mike Fährmann
0334a7c48c [job] apply 'update_kwdict()' to Message.Queue metadata as well 2025-06-26 19:15:44 +02:00
Mike Fährmann
3c6a5657ea [webtoons] update code 2025-06-26 15:24:37 +02:00
Mike Fährmann
ebaf789ac7 [tenor] extract more metadata
- format
- id_format
- size
- duration
2025-06-26 10:42:48 +02:00
Mike Fährmann
718ed6a1e7 [tenor] update code to 3.8 2025-06-26 08:38:37 +02:00
Mike Fährmann
3084ba1243 [comick] improve 'manga' extraction (#6782)
- extract all chapters
- support query parameters
2025-06-25 14:33:19 +02:00
Mike Fährmann
a50901c460 [comick] give 'w', 'h', and 's' more descriptive names (#6782) 2025-06-25 14:09:11 +02:00
Mike Fährmann
41ae7695c4 [patreon] update code to 3.8 2025-06-25 07:54:55 +02:00
Mike Fährmann
bd410fab03 [patreon] extract more metadata for paywalled posts (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3002275572
2025-06-25 07:18:59 +02:00
Mike Fährmann
578aea51ed [comick] add initial support (#1825 #6782) 2025-06-24 18:59:50 +02:00
Mike Fährmann
790e097edd [tests:job] update TestDataJob.test_exception result 2025-06-24 18:59:50 +02:00
Mike Fährmann
e7107f160d [fanbox] add 'fee-max' option (#7726) 2025-06-24 14:47:09 +02:00
Mike Fährmann
308373e3cb [fanbox] restructure some post extraction code
- move post info API request out of _get_post_data()
- use request_json()
2025-06-24 14:13:34 +02:00
Mike Fährmann
b43ce6d897 [rule34us] prioritize 'video.rule34.us' for video downloads (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-2999111612
2025-06-24 09:36:51 +02:00
Mike Fährmann
52ca441dc2 [patreon] yield metadata for paywalled posts as well (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-2998535431
2025-06-24 09:09:52 +02:00
Mike Fährmann
434bf3b1f3 use 'util.re()' in more places
continuation of b5c88b3d3e
2025-06-23 20:31:45 +02:00
Mike Fährmann
c08833aed9 [util] move 're' functions to text.py 2025-06-23 20:05:20 +02:00
Mike Fährmann
92ac35c932 [imgbox] fix 'TypeError' when calling 'get_image_metadata()'
fixes regression introduced in 811b665e33
2025-06-23 18:16:46 +02:00
Mike Fährmann
97cac544ed [facebook] fix 'TypeError' when calling 'decode_all()'
fixes regression introduced in 811b665e33
2025-06-23 17:55:32 +02:00
Mike Fährmann
d7103f9bdd [job:data] wrap exceptions in a dict (#7723)
fixes exception when using 'num-to-str' with '-j'
2025-06-23 17:17:28 +02:00
Mike Fährmann
dd759d34dd [scripts/init] support adding test results via '--url' 2025-06-23 17:16:11 +02:00
Luca Russo
1055773301 [discord] support forwarded messages + handle missing threads (#7706 #7722)
* support forwarded messages + handle missing threads
* flake
2025-06-23 17:14:31 +02:00
Mike Fährmann
fc1ed03484 [dankefuerslesen] fix several issues (#7669)
- return chapters in first-to-last order
- provide 'group' as list of names
- remove hardcoded 'en' and 'English' language results
- replace 'popitem()' with non-destructive 'next(iter(…))'
- 'chapter-minor' -> 'chapter_minor'
2025-06-22 19:52:40 +02:00
Mike Fährmann
ce4d78e8e3 [util] make NONE compare equal to the native None 2025-06-22 19:50:21 +02:00
Mike Fährmann
2cbc5cc454 [options] swap --print and --Print semantics
--print now outputs values without downloading files
--Print now outputs values AND downloads files

add --Print-to-file with the same difference to --print-to-file
2025-06-22 18:19:41 +02:00
Mike Fährmann
2bcc2f2a17 [formatter] implement 'M' format specifier
Map a list of objects to a list of values

[
    {"name": "John Doe"      , "age": 42},
    {"name": "Jane Smith"    , "age": 24},
    {"name": "Max Mustermann", "age": null}
]

== :Mname =>

["John Doe", "Jane Smith", "Max Mustermann"]
2025-06-22 16:33:20 +02:00
Mike Fährmann
71461ceaba [formatter] add 'L' conversion
to map ISO 639-1 language codes to their full names
2025-06-22 14:01:58 +02:00
Mike Fährmann
5e0cdac337 [formatter] change 'L'/length conversion to 'n' 2025-06-22 13:54:57 +02:00
Mike Fährmann
9c9eb7a3bb [tiktok] detect login page redirects (#7716) 2025-06-22 13:14:59 +02:00
Mike Fährmann
68960e29a1 [dankefuerslesen] add support (#7669) 2025-06-22 12:13:12 +02:00
Mike Fährmann
c65b0fb4d8 [tests] remove 'test_unique_pattern_matches' (#7671)
no need to explicitly check for extractor pattern overlaps anymore
since extractor order (and dict insertion order in general) is
preserved since CPython 3.6
2025-06-22 11:37:59 +02:00
Mike Fährmann
eaeabda7ac [scripts] implement 'init.py'
Initial attempt at a helper script to generate new extractor module
files and the required boilerplate code.
2025-06-22 10:13:06 +02:00
Mike Fährmann
60cb4468b2 [options] update --help Usage formatting 2025-06-20 23:43:22 +02:00
Mike Fährmann
b0d7de3603 support using system certificates via 'truststore' (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-2989290495
2025-06-20 19:55:01 +02:00
Mike Fährmann
8a35863e86 [options] add '--Print' command-line option 2025-06-20 16:32:48 +02:00
Mike Fährmann
9e56d81292 fix Last-Modified mtime overwriting post processor mtime (#7529)
https://github.com/mikf/gallery-dl/issues/7529#issuecomment-2989955455

- split '_mtime' into '_mtime_http' and '_mtime_meta'
- add PathFormat.set_mtime() method
2025-06-20 16:19:37 +02:00
Mike Fährmann
74c9356442 [rule34] fix file downloads (#7697)
replace 'api-cdn' subdomain of image files with 'wimg'
2025-06-20 15:07:10 +02:00
Mike Fährmann
bcfce6b7db [dl:http] improve HTML signature check (#7697)
https://github.com/mikf/gallery-dl/issues/7697#issuecomment-2990734451

ignore leading whitespace
2025-06-20 14:39:32 +02:00
Mike Fährmann
dba45923c8 [dl:http] fail downloads with HTML content (#7697)
add 'validate-html' option
2025-06-20 14:34:40 +02:00
Mike Fährmann
e8d28d3d0d merge #7699: [warosu] handle missing images by checking hostname (#7698) 2025-06-20 13:17:44 +02:00
Mike Fährmann
bb73c8318c [warosu] add test for non-archived post 2025-06-20 12:38:54 +02:00