47 Commits

Author SHA1 Message Date
Mike Fährmann
a40dfc58d7 [fanbox] make 'comments' extraction non-fatal (#8814)
and fix a typo
2026-01-04 16:54:21 +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
e006d26c8e Revert "use f-strings when building 'pattern'"
revert d7c97d5a97.
2025-12-20 22:07:37 +01:00
Mike Fährmann
9133ee321f [fanbox] make '_extract_post()' non-fatal (#8711)
fixes regression introduced in 4a4c1a1154
2025-12-15 17:43:21 +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
4a4c1a1154 [fanbox] yield data for inaccessible posts (#8643) 2025-12-03 20:32:54 +01:00
Mike Fährmann
9e6b87f850 [fanbox:redirect] disable cookie usage (#8565) 2025-11-18 19:38:14 +01:00
Mike Fährmann
3573dcbff9 [fanbox:creator] add 'offset' option (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3456132723
2025-10-28 17:43:43 +01:00
Mike Fährmann
d7c97d5a97 use f-strings when building 'pattern' 2025-10-20 21:23:11 +02:00
Mike Fährmann
9bf76c1352 replace 'util.re()' with 'text.re()'
remove unnecessary 'util' imports
2025-10-20 17:44:58 +02: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
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
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
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
41191bb60a 'match.group(N)' -> 'match[N]' (#7671)
2.5x faster
2025-06-18 13:05:58 +02:00
Mike Fährmann
b5c88b3d3e replace standard library 're' uses with 'util.re()' 2025-06-06 13:24:52 +02:00
Mike Fährmann
6e87ad2ccc [fanbox] extract 'archives' metadata (#7454) 2025-05-27 18:04:35 +02:00
Mike Fährmann
45cd81639e [fanbox] return 'fileMap' files in order (#2718) 2025-05-26 22:05:51 +02:00
Mike Fährmann
ac1c61f64a [fanbox] use '"browser": "firefox"' by default (#7490) 2025-05-19 16:47:43 +02:00
Mike Fährmann
2755425ddd [fanbox] update API headers (#7490) 2025-05-10 20:23:04 +02:00
Mike Fährmann
10f2e08bd1 [fanbox] fix 'comments' extraction 2025-04-19 16:45:47 +02:00
Mike Fährmann
88f1541a83 [common] add 'request_location()' convenience function 2025-04-19 16:45:05 +02:00
Mike Fährmann
02ca1ac602 [fanbox] add 'comments' option, extend 'metadata' option (#6287) 2024-10-06 22:31:41 +02:00
Mike Fährmann
b4733b7ea8 [fanbox] fix pagination (#5949, #5951, #5956) 2024-08-07 10:16:14 +02:00
Mike Fährmann
606202fb04 [fanbox] remove debug code (#5759) 2024-06-21 21:05:01 +02:00
Mike Fährmann
ad25be3420 [fanbox] fix 8452d04a (#5759)
The previous code would raise an exception when there are no or
more than 1 plans with a fee higher than 'feeRequired'.
2024-06-21 18:56:43 +02:00
Mike Fährmann
8452d04a33 [fanbox] handle KeyError for no longer existing plans (#5759)
return the plan of the next higher tier instead
2024-06-21 00:13:25 +02:00
Mike Fährmann
c97b92cc35 [fanbox] add 'home' and 'supporting' extractors (#5138) 2024-02-14 23:25:39 +01:00
Mike Fährmann
7eaf648f2e [fanbox] add 'metadata' option (#4921)
extracts 'plan' and extended 'user' metadata
2024-01-04 15:01:33 +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
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
d97b8c2fba consistent cookie-related names
- rename every cookie variable or method to 'cookies_*'
- simplify '.session.cookies' to just '.cookies'
- more consistent 'login()' structure
2023-07-22 01:20:50 +02:00
Mike Fährmann
0281cc7d08 [fanbox] skip 404ed fanbox embeds (#4088)
continuation of 4fc9675d
2023-06-03 15:40:21 +02:00
Mike Fährmann
4fc9675d48 [fanbox] skip 404ed or otherwise invalid posts (#4088) 2023-05-22 18:49:06 +02:00
Mike Fährmann
511a051705 [fanbox] fix crash with missing images (#3673) 2023-02-23 23:30:55 +01:00
Mike Fährmann
7d6c846176 [fanbox] return 'imageMap' files in order (#2718) 2023-01-01 15:12:05 +01:00
Mike Fährmann
b6a68f5a4b [fanbox] extend 'content' test result (#3020) 2022-10-11 19:01:26 +02:00
Mike Fährmann
1ca6be8619 [fanbox] add 'content' metadata field (#3020) 2022-10-11 10:48:28 +02:00
thatfuckingbird
ea5ffb19a6 fanbox: download cover images in original size (#2784) 2022-07-27 10:53:04 +02:00
Mike Fährmann
f31ab0d2ec [fanbox] fetch data for each individual post (fixes #2388)
Posts from 'https://api.fanbox.cc/post.listCreator'
do not  contain a 'body' with all images anymore.

https://github.com/mikf/gallery-dl/pull/1459#discussion_r614322881
2022-03-11 17:36:05 +01:00
Mike Fährmann
22b0433985 [fanbox] support pixiv redirects (closes #2122) 2021-12-25 17:15:39 +01:00
Mike Fährmann
9a25534490 use Extractor._check_cookies() for all cookie checks 2021-12-16 02:21:16 +01:00
Mike Fährmann
bd08ee2859 remove most 'yield Message.Version' statements
only leave them in oauth.py as noop results
2021-08-16 03:10:48 +02:00
thatfuckingbird
e47952ac14 add extractors for fantia and fanbox (#1459)
* add extractors for fantia and fanbox

* appease linter

* make docstrings unique

* [fantia] refactor post extraction

* [fantia] capitalize

* [fantia] improve regex pattern

* code style

* capitalize

* [fanbox] use BASE_PATTERN for url regexes

* [fanbox] refactor metadata and post extraction

* [fanbox] improve url base pattern

* [fanbox] accept creator page links ending with /posts

* [fanbox] more tests

* [fantia] improved pagination

* [fanbox] misc. code logic improvements

* [fantia] finish restructuring pagination code

* [fanbox] avoid making a request for each individual post when processing a creator page

* [fanbox] support embedded videos

* [fanbox] fix errors

* [fanbox] document extractor.fanbox.videos

* [fanbox] handle "article" and "entry" post types, all embeds

* [fanbox] fix downloading of embedded fanbox posts
2021-04-25 19:39:13 +02:00