Commit Graph

6886 Commits

Author SHA1 Message Date
Mike Fährmann
dd09937d69 fix exit code for requests' JSONDecodeError (#4380) 2025-07-17 16:37:40 +02:00
Mike Fährmann
64d6e8c8ff [azurelanewiki] prevent Anubis challenge 2025-07-17 16:37:30 +02:00
Mike Fährmann
87cf635f6e [wikimedia] add missing 'self' argument when calling 'prepare()' (#7835)
fixes regression introduced in 811b665e33
2025-07-17 16:30:36 +02:00
Mike Fährmann
232e30f64e [actions] fix 'parse_logging' import (#7837)
fixes regressions introduced in bccf467d19
2025-07-17 16:30:10 +02:00
Mike Fährmann
22fd866b73 [formatter] update format string type lookup
use a dict instead of if/elif/else
2025-07-16 23:24:21 +02:00
Mike Fährmann
f25c5f4b0c [formatter] add basic 'Jinja2' template support (#1390) 2025-07-16 23:23:58 +02:00
Mike Fährmann
cbf930c99c release version 1.30.0 2025-07-15 19:08:43 +02:00
Mike Fährmann
b66a476cab [komikcast] update domain to 'komikcast.li' 2025-07-15 08:12:55 +02:00
Mike Fährmann
bccf467d19 [actions] allow using actions as 'signals-actions' target 2025-07-14 22:58:02 +02:00
Mike Fährmann
f7e84f0a09 [actions] add 'raise' action 2025-07-14 21:32:56 +02:00
Mike Fährmann
0a6e58b8ba [actions] add 'flag' action 2025-07-14 21:29:40 +02:00
Mike Fährmann
50cec2fb0c [util] add 'error()' function to global scope (#7814) 2025-07-14 20:05:20 +02:00
Mike Fährmann
d9a650d547 [options] add '--compat' command-line option 2025-07-14 18:52:39 +02:00
Mike Fährmann
bbe7faed21 [iwara] update
- add 'include' docs
- simplify code for different result types
- provide 'count' and 'num' metadata
- remove 'search_type' metadata
2025-07-14 18:47:14 +02:00
Mike Fährmann
fca1cd51f5 [gelbooru] improve error for 401 responses (#7674) 2025-07-14 16:54:21 +02:00
Mike Fährmann
df946faf40 [scripts/init] fix extra blank line without copyright
1686f32a0d (commitcomment-162021403)
2025-07-14 16:54:21 +02:00
NecRaul
089f815560 [motherless] Add group support (#7774 #7787)
* [motherless] Add group support
* [motherless] Update old unit tests
* [motherless] Add new unit tests
* [motherless] Update docs
2025-07-14 16:50:07 +02:00
Appu
75582e38e9 [VSCO] Fix JSON returned by VSCO (#7821)
* [VSCO] Fix JSON returned by VSCO

The JSON returned contains multiple `undefined` values that aren't valid
JSON, changing these values to `null` fixes the issue.

* [VSCO] Make JSON fix more targeted

Change only occurrences that are values of a key-value
2025-07-14 15:29:22 +02:00
NecRaul
a7ebb835ea [iwara] Add support (#2652 #5840 #7785)
* [iwara] Add initial support
* [iwara] Add search support
* [iwara] Code cleanup
* [iwara] Small fixes and additions
* [iwara] Add tag support
* [iwara] Add mime-type to metadata
* [iwara] Refactor patterns/matching using urllib
* [iwara] Add unit tests
* [iwara] Update docs
* [iwara] Fix linting on older Python versions
* [iwara] update 'IwaraAPI' interface class
    - define endpoints inside methods
    - implement and use _call() and _pagination()
    - cache auth tokens
* [iwara] split and rename 'profile' extractor
    TODO:
    - update test results
    - simplify code
* [iwara] simplify '_user_params()' usage
* [iwara] update 'video' extractor
    and move user data extraction into 'yield_video'
* [iwara] update 'image' extractor
    and move user info extraction into 'yield_image()'
* [iwara] update 'playlist' extractor
* [iwara] update 'search' extractor
* [iwara] update 'tag' extractor
* [iwara] simplify 'yield_image' usage
    perform API calls to get full 'files' list inside the function
* [iwara] add video "image" test
* [iwara] provide 'date' metadata
* [iwara] simplify 'source()'
    remove urllib.parse usage
* [iwara] small optimizations
    * get("key", {}) -> get("key") or {}
    * split("…", 1) -> partition("…")
    * use f-strings for all patterns
* [iwara] add missing 'keyarg=1' to profile() memcache decorator
* [tests/iwara] update results
* [iwara] extract more 'user' metadata
* [iwara] update default format strings
    include 'date' in filenames to order them chronologically
* [iwara] restructure image/video handling
    - use less generators
    - make processing individual media items non-fatal
* [iwara] fix login and token handling
* [iwara] add 'favorite' extractor
* [iwara] add 'following' and 'followers' extractors

---------

Co-authored-by: Mike Fährmann <mike_faehrmann@web.de>
2025-07-13 21:30:25 +02:00
Mike Fährmann
1686f32a0d [scripts/init] split into separate scripts
- init.py:
    - generate initial extractor module code and test result file
    - insert new entries into modules list and site names
- generate_test_result.py:
    - generate test result for a given URL
    - insert it into the test result file generated by init.py
      (or an already existing one)
2025-07-12 21:14:29 +02:00
Mike Fährmann
fc968ebf20 [artstation] support downloading '.mview' files (#7812) 2025-07-12 20:53:16 +02:00
Mike Fährmann
518c771e21 [instagram] provide 'post_url' for stories and highlights (#7810)
fixes regression introduced in 25c63deebf
2025-07-12 17:30:06 +02:00
Mike Fährmann
98895b732f [reddit] improve archive IDs of fallback files (#7760)
prevent 'DASH...' and 'HLS...' entries
2025-07-11 22:59:44 +02:00
Mike Fährmann
755434600e [signals] implement stopping the current download with Ctrl+C (#1861)
{
    "signals-actions": {
        "SIGINT": "download:fail"
    }
}
2025-07-11 22:29:08 +02:00
Mike Fährmann
d8a370da0b [signals] update FLAGS handling 2025-07-11 22:28:26 +02:00
Mike Fährmann
2d3b6155eb [erome] restructure extractor hierarchy (#7804) 2025-07-11 22:28:26 +02:00
Mike Fährmann
2ccb9acf1a [pinterest] support 'pin.it' board redirects (#7805) 2025-07-11 22:28:26 +02:00
Mike Fährmann
8e40ea2fe2 [pinterest] match board URLs with query strings (#7805) 2025-07-11 22:28:26 +02:00
Mike Fährmann
e68dc960c2 [pixiv] add workaround for 'novel-*' includes (#7746) 2025-07-11 22:27:45 +02:00
Mike Fährmann
267661680c add 'pixiv-novel' compat categories (#7746) 2025-07-11 11:00:19 +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
25c63deebf [instagram] provide better 'video_dash_manifest' URLs (#7631) 2025-07-10 15:34:50 +02:00
Mike Fährmann
0210ffcdd8 initial 'signals-actions' implementation (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-2973285775

To stop gracefully after the current file finishes processing when
Ctrl+C was pressed, or after the current post finishes processing when
SIGUSR1 was received:

{
    "signals-actions": {
        "SIGINT" : "file",
        "SIGUSR1": "post"
    }
}
2025-07-09 23:02:23 +02:00
Mike Fährmann
4dfa8a75c0 update InputFileError constructor calls 2025-07-09 23:02:04 +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
f17ed0569a [common] raise ChallengeError for CF & DDG challenges (#1945)
this sets bit 0x08 in the exit status bitmask
2025-07-09 18:58:21 +02:00
Mike Fährmann
0fba5c98cb [exception] update exception hierarchy
- add InputError and ControlException base classes
- add ChallengeError, LoginRequired, AbortExtraction
- change code of NotFoundError from 8 to 4
  and NoExtractorError from 64 to 32
2025-07-09 18:56:50 +02:00
Mike Fährmann
b77e18317b [skeb] fix "KeyError - 'frame_rate'" (#7798) 2025-07-09 12:40:37 +02:00
Mike Fährmann
4e9cb428d6 [pp] implement shortcuts for 'mode' and 'event' options
This makes it possible to specify 'mode' and/or 'event' options of a
postprocessor in its 'name' as
"NAME/MODE@EVENT" or "NAME/MODE" or "NAME@EVENT"

For example
"postprocessors": "metadata/jsonl@file,skip"

is equivalent to
"postprocessors": {
    "name" : "metadata",
    "mode" : "jsonl",
    "event": ["file", "skip"]
}
2025-07-09 12:40:37 +02:00
Mike Fährmann
cfafbc0675 [twitter] extract 'sensitive_flags' metadata (#2523)
a list of 'sensitive_media_warning' flags per file
and a combination of all file flags per Tweet
2025-07-09 12:39:23 +02:00
Mike Fährmann
b6bd675a9e [scripts/pre-commit] disable user site-packages when running flake8 2025-07-07 15:07:56 +02:00
Mike Fährmann
321141ba56 merge #7789: [readcomiconline] fix extraction (#7606) 2025-07-07 12:15:16 +02:00
Mike Fährmann
ad84e72fda [civitai] implement retrieving 'post' metadata (#7548) 2025-07-07 11:48:21 +02:00
Mike Fährmann
d25b1f22f3 [civitai] always provide 'file[…]' metadata (#7548)
wrap most top-level values of (single) image results into a 'file' object
2025-07-07 11:45:49 +02:00
Mike Fährmann
8452a018ac [civitai] fix '403 Forbidden' errors for searches
update Authorization header
2025-07-07 10:20:19 +02:00
Mike Fährmann
1aa8fe7c10 [e621] support 'e621.cc/posts' URLs (#6809)
https://github.com/mikf/gallery-dl/issues/6809#issuecomment-3043180010
2025-07-07 08:44:31 +02:00
enduser420
8c1628ea4e [readcomiconline] fix extraction 2025-07-07 02:32:23 +05:30
Mike Fährmann
0dfe7e25a5 [util] slightly improve 'filter' performance 2025-07-06 19:46:34 +02:00
Mike Fährmann
05b0a25120 [common] update 'browser' user-agents and headers
support Firefox 140 ESR and Chrome/Chromium 138
2025-07-06 19:41:37 +02:00