Commit Graph

163 Commits

Author SHA1 Message Date
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
Mike Fährmann
410f783a33 implement 'subconfigs' option (#4440) 2023-08-21 21:18:40 +02:00
Mike Fährmann
a14b63d941 support selecting a domain for '--cookies-from-browser'
for example 'gallery-dl --cookies-from-browser firefox/twitter.com'
2023-05-06 15:09:49 +02:00
Mike Fährmann
a1ca2404f9 add 'globals' instead of overwriting the default (#3773) 2023-03-16 18:37:00 +01:00
Mike Fährmann
075c965512 add '--config-create' command-line option
(#2333)
2023-03-01 14:49:40 +01:00
Mike Fährmann
26d06e0bb2 move executable check into util.py 2023-02-28 23:10:23 +01:00
Mike Fährmann
de2f35d068 simplify config.load() 2023-02-28 22:02:15 +01:00
Mike Fährmann
632d5d7745 allow loading config files in TOML format with --config-toml 2023-02-28 21:54:46 +01:00
Mike Fährmann
d788e6c60c implement 'globals' option 2023-02-28 18:18:55 +01:00
Mike Fährmann
e480a93337 add 'output.stdout', '.stdin', and '.stderr' options
(#1621, #2152, #2529)

Allow setting custom input/output encodings and options
without having to rely on Python's defaults.
2023-02-26 14:56:19 +01:00
Mike Fährmann
d4232f3a8b implement restarting an extractor (#3338) 2023-02-11 21:06:14 +01:00
Mike Fährmann
c2bc70593e implement ability to load external extractor classes
- -X/--extractors
- extractor.module-sources
2023-01-30 23:10:10 +01:00
Mike Fährmann
f58215705a add '-O/--postprocessor-option' command-line option (#3565) 2023-01-26 14:59:24 +01:00
Mike Fährmann
dfe7b23579 support Firefox containers for --cookies-from-browser (#3346) 2022-12-09 19:43:55 +01:00
Mike Fährmann
46d811bac0 add loaded config files to debug output 2022-11-18 17:15:32 +01:00
Mike Fährmann
597b63d922 move git head functionality to function in util.py 2022-11-04 19:49:39 +01:00
Mike Fährmann
b337e51e91 run flake8 on all .py files 2022-10-28 22:22:49 +02:00
Mike Fährmann
e140b85342 reword error text for unsupported URLs 2022-10-28 11:49:20 +02:00
Mike Fährmann
a6e2d96dde fix bug when processing input file comments (#2808)
and move 'parse_inputfile()' to util.py
2022-10-08 15:41:39 +02:00
Mike Fährmann
bdad9c40dd remove whitespace before comments in input file URLs (#2808) 2022-09-09 18:09:21 +02:00
Mike Fährmann
764906e1af allow tabstops as whitespace before input file comments (#2808) 2022-08-11 12:39:19 +02:00
Mike Fährmann
d0adc13e23 allow comments after input file URLs (#2808)
everything after the first " #" (space + hash) gets ignored
2022-08-09 23:26:02 +02:00
Mike Fährmann
74865adae5 implement 'format-separator' option (#2737)
a global option, that servers as a workaround for shortcomings due to
lack of a proper format string parser
2022-07-10 13:31:43 +02:00
Mike Fährmann
603af48265 implement 'output.ansi' option (#2628) 2022-05-29 19:15:25 +02:00
Mike Fährmann
688d6553b4 replace calls to print() with stdout_write() (#2529) 2022-05-19 17:09:24 +02:00
Mike Fährmann
6742f3bc1e implement --cookies-from-browser (#1606)
most of the code is adapted from yt-dlp's implementation
and *should* work the same.
2022-05-07 23:06:37 +02:00