188 Commits

Author SHA1 Message Date
Mike Fährmann
e9989ff7bd [options] add '--config-json' command-line option 2026-02-14 19:33:33 +01:00
Mike Fährmann
56f2790626 [options] add '--config-type' command-line option
can also be set via 'GDL_CONFIG_TYPE' environment variable
9fd732afe8
2026-02-07 21:47:17 +01:00
Mike Fährmann
cbb9264ddc use tempfile when updating input files (#8981)
0d72789aa3
2026-02-02 19:15:26 +01:00
brerk
e00c717b15 [turbo] update 'saint' extractors (#8893 #8896)
* Implements turbo.py & remove from domain pattern from saints.py
* Remove leftover commented pattern from saints.py
* Make turbo.py comply with flake8
* Add album support
* Improved metadata extracion for albums and single files & created turbo.py tests using saints.py test
* Align turbo.py extractor with flake8 rules
* Fix #class name on turbo.py tests
* Fix #category test
* Fix #category test x2
* Fix #category tests
* Fix #category tests
* Fix TurboMediaExtractor self.groups unpacking

* update basic module formatting
* replace 'saint' with 'turbo' in modules list
* remove saint extractors and tests
* update & simplify 'media' extractor
* update & simplify 'album' extractor
* update tests
* update supportedsites
* update 'category-map' & 'config-map'

---------

Co-authored-by: Mike Fährmann <mike_faehrmann@web.de>
2026-01-19 22:20:13 +01:00
Mike Fährmann
29e8440ec4 [formatter] add 'format-operator-dot' option
to allow disabling the behavior introduced in commit
a79a945494
2026-01-13 22:25:37 +01:00
Mike Fährmann
da46d4fc87 [output] defer creation of 'unsupported' files by default (#8622)
https://github.com/mikf/gallery-dl/pull/8622#issuecomment-3618151200
2025-12-07 17:13:44 +01:00
Mike Fährmann
1e7f4ee178 [output] add 'defer' option for logging files (#8523)
- defer file creation of error files by default
- implement custom FileHandler class
  to support deferred directory creation
2025-11-27 19:23:04 +01:00
Mike Fährmann
2eb5e52055 extend '-A / --abort' & '"skip": "abort"' functionality (#7891)
implement ascending by more than 1 level or
up to an extractor with a specific subcategory
2025-07-30 00:01:49 +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
bccf467d19 [actions] allow using actions as 'signals-actions' target 2025-07-14 22:58:02 +02:00
Mike Fährmann
d8a370da0b [signals] update FLAGS handling 2025-07-11 22:28:26 +02:00
Mike Fährmann
267661680c add 'pixiv-novel' compat categories (#7746) 2025-07-11 11:00:19 +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
82891b4d0c [pixiv] move 'novel' extractors to a 'pixiv-novel' category (#7746)
TODO:
- restore full 'include' functionality
- allow remapping category:subcategory pairs
2025-07-04 20:13:19 +02:00
Mike Fährmann
e7922ababd [naver] change categories (#7746)
- 'naver'        -> 'naver-blog'
- 'chzzk'        -> 'naver-chzzk'
- 'naverwebtoon' -> 'naver-webtoon'
2025-07-02 23:20:40 +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
434bf3b1f3 use 'util.re()' in more places
continuation of b5c88b3d3e
2025-06-23 20:31:45 +02:00
Mike Fährmann
e08ec7e083 update copyright notices 2025-06-13 00:03:41 +02:00
Mike Fährmann
811b665e33 remove @staticmethod decorators
There might have been a time when calling a static method was faster
than a regular method, but that is no longer the case. According to
micro-benchmarks, it is 70% slower in CPython 3.13 and it also makes
executing the code of a class definition slower.
2025-06-12 22:50:52 +02:00
Mike Fährmann
75b6c8f3d8 re-implement 'category-map' (#7612) 2025-06-04 07:57:27 +02:00
Mike Fährmann
99bf92364a rename 'category-map' to 'config-map' (#7612) 2025-06-04 07:57:27 +02:00
Mike Fährmann
783f1c1b11 add 'category-map' option
primarily to achieve some form of backwards compatibility for
922c296482
2025-05-30 17:55:49 +02:00
Mike Fährmann
2a5eec953e move cache/config/update handling before loading extractors 2025-05-30 10:15:58 +02:00
Mike Fährmann
0b99d9e6b9 [util] add "defaultdict" filters-environment
allows accessing undefined values without raising an exception,
but preserves other errors like TypeError, AttributeError, etc
2024-11-14 22:47:25 +01:00
Mike Fährmann
4a6e5af28e [noop] insert noop extractor when loading cookies without URL
allows writing --cookies-from-browser results with just
gallery-dl --cookies-from-browser BROWSER --cookies-export DEST
2024-10-28 19:45:32 +01:00
Mike Fährmann
36883e458e use 'v[0] == "c"' instead of 'v.startswith("c")' 2024-10-15 08:24:06 +02:00
Mike Fährmann
4da3347d18 allow filtering '--list-extractors' results
with blacklist/whitelist syntax, e.g.

--list-extractors pixiv
--list-extractors pixiv:user pixiv:work
--list-extractors :search
2024-09-08 09:27:32 +02:00
Mike Fährmann
b46169cfd2 add 'input-files' config option (#6059) 2024-08-27 17:21:49 +02:00
Mike Fährmann
8ecd408f53 add '-J/--resolve-json' command-line option (#5864) 2024-07-26 20:41:35 +02:00
Mike Fährmann
f7383a56f8 wrap filters/conditionals in a try-except block
allows accessing undefined fields without exception or locals().get(…)
but hides mistakes/typos/etc by evaluating to False without feedback

performance loss compared to the previous version without try-except
is negligible (~20ns for me)
2024-07-12 22:51:11 +02:00
Mike Fährmann
b3aded1939 add '--print-traffic' 2024-07-05 21:34:33 +02:00
Mike Fährmann
c9860002ba [actions] add 'abort' and 'terminate' actions (#5778) 2024-06-29 19:20:17 +02:00
Mike Fährmann
3fc2e61818 add '--config-open' and '--config-status' (#5713)
adapted from 119a25a59cd07781844136ed3d360e7d820b112c
2024-06-13 23:22:56 +02:00
Mike Fährmann
7ba2b209f1 fix exit status of --clear-cache/--list-modules/--list-extractors
All three would always cause gallery-dl to exit with status 1,
regardless of error or success.
2024-05-29 02:56:25 +02:00
Mike Fährmann
2e323ef0a2 [update] implement '-U/--update'
to auto-update executable files in-place
2024-05-28 02:26:13 +02:00
Mike Fährmann
601f5becc8 [version] add __variant__
Specifies origin and OS of executable files.
For example 'stable/windows'.
2024-05-27 21:37:01 +02:00
Mike Fährmann
dc9d83e64b [output] support 'NO_COLOR' environment variable 2024-05-03 12:25:41 +02:00
Mike Fährmann
bef0bd3b49 add '--no-colors' command-line option 2024-04-20 21:06:59 +02:00
Mike Fährmann
20e2c0042b [output] enable colors by default 2024-04-20 20:51:20 +02:00
Aidan Harris
a3f580254a Add warnings flag
This commit adds a warnings flag

It can be combined with -q / --quiet to display warnings.
The intent is to provide a silent option that still surfaces
warning and error messages so that they are visible in logs.
2024-04-14 08:55:50 +00:00
Mike Fährmann
b1c175fdd1 allow using an empty string as argument for -D/--directory 2024-01-12 16:39:16 +01:00
Mike Fährmann
75697dfb26 implement -e/--error-file as a logging handler
similar to --write-unsupported
2023-12-10 00:06:39 +01:00
Mike Fährmann
042a9da451 add 'output.errorfile' config option 2023-12-08 17:29:54 +01:00
Mike Fährmann
99b76628f7 implement '-e/--error-file' command-line option (#4732)
copying per-URL options from regular, read-only input files
does currently not work
2023-12-05 20:49:51 +01:00
Mike Fährmann
b714df5a16 disable 'downloader.progress' when using -q/--quiet (#4810)
it didn't produce any output since output.mode is set to to "null",
but it caused some unnecessary function calls
2023-11-18 01:16:49 +01:00
Mike Fährmann
4700051562 rework and extend input file processing (#4732)
- add 2 command-line options to modify input file contents
  - -I/--input-file-comment
  - -x/--input-file-delete
- implement InputManager class
- move code from util.py to __init__.py
  (mainly to avoid import cycles)
2023-11-14 20:50:11 +01:00
Mike Fährmann
4cdab8074e update/fix --list-extractors 2023-09-11 17:32:59 +02:00
Mike Fährmann
92f98e6f5e 'sys.exit' -> 'SystemExit' 2023-08-21 23:46:39 +02:00