Commit Graph

96 Commits

Author SHA1 Message Date
ramoswilly
facc0e0250 [Danbooru] add 'random' extractor
Adds a new `DanbooruRandomExtractor` to support downloading from `danbooru.donmai.us/posts/random?tags=` URLs.
2025-09-22 21:14:34 +02:00
Mike Fährmann
7fb15742da [aibooru] fix download URLs (#8212)
handle URLs starting with '//'
2025-09-14 08:43:16 +02:00
Mike Fährmann
aacdab0761 [aibooru] support 'general.aibooru.online' & 'aibooru.download' 2025-08-13 18:00:58 +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
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
e08ec7e083 update copyright notices 2025-06-13 00:03:41 +02:00
Mike Fährmann
6e120f2551 [danbooru] fix Ugoira for instances without 'Ugoira:FrameMimeType'
(#7630)

fixes regression introduced in 1866f8b97b
2025-06-07 07:47:03 +02:00
Mike Fährmann
1866f8b97b [danbooru] fix Ugoira conversions for posts without 'ZIP:ZipFileName'
get frame extension from 'Ugoira:FrameMimeType' instead

(#7630)
5919696271
2025-06-05 09:13:25 +02:00
Mike Fährmann
4bcbc2d5b4 [E621:pool] fix AttributeError (#7265)
fixes regression introduced in 24bbcbcfa3
2025-03-30 18:41:58 +02:00
Mike Fährmann
24bbcbcfa3 [danbooru] add 'favgroup' extractor 2025-03-26 20:58:49 +01:00
Mike Fährmann
f232a07faf [danbooru:pool] download posts in pool order (#7091)
- add 'order-posts' option
- add 'num' metadata field for pool position
- update default filenames to order by pool position
2025-03-03 16:46:43 +01:00
Mike Fährmann
c567bf12e6 [danbooru][e621] remove constructors 2025-03-02 20:38:12 +01:00
Mike Fährmann
fe815b9226 [danbooru][e621] use lower 'threshold' value by default (#6886)
fixes tag searches ending prematurely when a few posts are missing
2025-01-27 20:41:24 +01:00
Mike Fährmann
939cf51b01 [danbooru] add missing ':' to 'md5' tag prefix 2024-12-07 17:39:25 +01:00
Mike Fährmann
63e042dec7 [e621] fix 'TypeError' when 'metadata' is enabled (#6587)
fixes regression introduced in 9184a564
2024-12-02 14:09:38 +01: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
50acf2ac84 [danbooru] add 'artist-search' extractor (#5348) 2024-11-17 16:58:54 +01:00
Mike Fährmann
ca4b2a0760 [danbooru] add 'artist' extractor (#5348) 2024-11-17 16:23:16 +01:00
Mike Fährmann
9184a5643a [danbooru] move all initialization code into '_init()' 2024-11-17 16:15:53 +01:00
Mike Fährmann
f8bb0fd6cb [pixiv][danbooru] set '_ugoira_original' for ugoira results 2024-10-11 13:19:45 +02:00
Mike Fährmann
cc38042500 [pp:ugoira] forward frame data as '_ugoira_frame_data' (#6154, #6285) 2024-10-08 11:28:44 +02:00
Mike Fährmann
627ed794a2 [danbooru] provide 'tags' as list (#4942)
keep the old 'tag_string' values around, similar to sankaku

a lot of repeat code ...
would be a lot less bad if "".split(" ") returned an empty list
2023-12-21 14:39:38 +01:00
Mike Fährmann
1f9b16a70b replace static 'sleep-request' defaults with dynamic ones 2023-12-18 22:06:26 +01:00
Mike Fährmann
e256434c9e use custom HTTPBasicAuth class
to support LazyPrompt as password
and to generate the Authorization header only once
instead of for every request
2023-12-07 01:40:31 +01:00
Mike Fährmann
50e2ebaff0 [danbooru] support 'donmai.moe' URLs 2023-09-22 20:58:38 +02: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
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
63326e3168 [danbooru] add tests for booruvar 2023-07-18 18:29:57 +02:00
thatfuckingbird
822a77d846 [danbooru] add support for booru.borvar.art instance 2023-05-24 19:06:40 +02:00
Mike Fährmann
494acabd38 [danbooru] refactor pagination logic (#4002)
- only use 'b<ID>' when no other order is specified
- support 'a<ID>' when  using 'order:id' as tag
2023-05-14 18:39:59 +02:00
Mike Fährmann
fd0e1ffd6e [danbooru] improve 75666cf9 (#4002)
Search for direct post IDs instead of trying to
replicate the same results as the initial request.
2023-05-14 16:35:31 +02:00
Mike Fährmann
708f478d15 [danbooru][e621] add 'date' metadata field (#4047) 2023-05-11 15:59:42 +02:00
Mike Fährmann
75666cf9c3 [danbooru] reduce API requests for fetching extended 'metadata'
Instead of using one additional API request per post object (N+1),
this requires only one request per 200-post batch.
2023-04-02 20:11:52 +02:00
Mike Fährmann
3d8777fbc1 move user agent string to util.py 2023-02-22 11:09:17 +01:00
Mike Fährmann
cbe4769246 [danbooru] use gallery-dl UA (#3665)
this removes the ability to set a custom UA via 'user-agent' option
for extractor requests
2023-02-18 22:28:35 +01:00
Mike Fährmann
bbf0911a46 [e621] implement 'notes' and 'pools' metadata extraction
(#3425)
2023-02-04 21:20:38 +01:00
Mike Fährmann
925b467496 split e621 from danbooru module (#3425) 2023-02-03 19:24:31 +01:00
Mike Fährmann
c87bd1a752 [danbooru] extend 'metadata' option
make it possible to specify a custom list of metadata includes
2023-01-13 16:20:01 +01:00
blankie
f82ee93676 [danbooru] extract uploader metadata (if metadata is set) 2022-12-25 11:00:59 +07:00
ClosedPort22
dd4a4a3fa6 [e621] softcode the pagination threshold 2022-12-17 21:06:47 +08:00
ClosedPort22
9faa4ed738 [e621] refactor pagination control
as suggested by @mikf
2022-12-17 20:05:34 +08:00
ClosedPort22
d0ad6d0e67 [e621] implement manual pagination mode 2022-12-16 16:15:36 +08:00
Mike Fährmann
e99ce99284 [danbooru] remove stray 'print()' 2022-11-25 18:27:45 +01:00
Mike Fährmann
4e26bf98f5 [aibooru] support 'safe' subdomain (#3110) 2022-10-28 12:10:18 +02:00
thatfuckingbird
062ef238a6 add support for aibooru (using danbooru extractor) (#3075) 2022-10-19 11:53:59 +02:00
Mike Fährmann
d0d4ce1a13 [danbooru] fix ugoira metadata extraction (#3056) 2022-10-15 13:29:09 +02:00
Mike Fährmann
f362d4a3c7 [e621] fix 'popular' extraction 2022-08-26 17:57:17 +02:00
Mike Fährmann
c6a9bab019 update extractor test results 2022-07-12 15:49:22 +02:00
Mike Fährmann
3f02e483c6 [e621] fix applying request_interval_min (#2533)
Setting this property after calling Extractor.__init__() has no effect.
2022-04-27 21:10:34 +02:00
Mike Fährmann
563bd0ecf4 [danbooru] inherit from BaseExtractor
- merge danbooru and e621 code
- support booru.allthefallen.moe (closes #2283)
- remove support for old e621 tag search URLs
2022-02-11 21:01:51 +01:00