60 Commits

Author SHA1 Message Date
featherbutt
06e3126bba [pp:metadata] add 'newline' option (#8439)
* Add configuration setting to control newline characters in metadata.
* update docs/configuration
* introduce 'open()' method
* add 'newline' test
2025-10-21 18:47:39 +02:00
Mike Fährmann
eee78f8148 [pp:python] restore archive functionality
fixes regression introduced in 09f0ba8e9c
2025-09-27 09:59:47 +02:00
Mike Fährmann
4052068d5a [pp:metadata] add '"mode": "print"' (#2691)
https://github.com/mikf/gallery-dl/issues/2691#issuecomment-3276158980
2025-09-22 17:54:53 +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
9e56d81292 fix Last-Modified mtime overwriting post processor mtime (#7529)
https://github.com/mikf/gallery-dl/issues/7529#issuecomment-2989955455

- split '_mtime' into '_mtime_http' and '_mtime_meta'
- add PathFormat.set_mtime() method
2025-06-20 16:19:37 +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
edd90fbf02 [pp:metadata] add 'metadata-path' option (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-2781643835
2025-04-09 20:24:14 +02:00
Mike Fährmann
8eb365d4b6 [pp:metadata] fix handling of empty directory paths (#7296) 2025-04-08 17:03:27 +02:00
Mike Fährmann
eef5beb841 [pp:metadata] fix using '..' in directories on Windows (#5942, #6094) 2024-08-27 14:38:40 +02:00
Mike Fährmann
4b94b7d477 [pp:metadata] add 'include' and 'exclude' options (#6058) 2024-08-19 21:58:57 +02:00
Mike Fährmann
605f6fba2c [pp:metadata] implement 'base-directory' option (#5262, #5728) 2024-08-07 10:15:06 +02:00
Mike Fährmann
1656c9287d [pp:metadata] fix 'directory' when file directory has conditions (#5728) 2024-07-06 22:07:17 +02:00
Mike Fährmann
da9916c01f [pp:metadata] implement format strings for 'directory' (#5728) 2024-07-06 03:08:59 +02:00
Mike Fährmann
6402f2950f [pp:metadata] ignore non-string tag values (#4764) 2023-11-04 17:33:14 +01:00
Mike Fährmann
72b18d701f represent util.NONE as 'null' in JSON output
was '"None"' before
2023-11-02 15:23:28 +01:00
Mike Fährmann
3905f05f00 [postprocessor:metadata] support putting keys in quotes
for mode 'modify' and 'delete'
based on fe41a2b1
2023-04-25 14:30:18 +02:00
Mike Fährmann
7459e4abce [postprocessor:metadata] fix traversing more than 1 level deep
for mode 'modify' and 'delete'
2023-04-25 14:17:25 +02:00
Mike Fährmann
00f0233b28 [postprocessor:metadata] add 'skip' option (#3786) 2023-03-17 23:30:11 +01:00
Gray Manley
f33ac885a6 [pixiv] fix tag write when set to original 2023-02-19 00:09:05 -06:00
Mike Fährmann
b7337d810e [postprocessor:metadata] add 'sort' and 'separators' options 2023-02-07 18:28:14 +01:00
Mike Fährmann
3436c6b117 [postprocessor:metadata] speed up JSON encoding 2023-02-06 12:35:28 +01:00
Mike Fährmann
78d3960a31 [postprocessor:exec] implement archive options (#3584) 2023-02-01 13:57:16 +01:00
Mike Fährmann
6b97dcf2e0 [postprocessor:metadata] add 'private' option 2022-11-20 15:27:36 +01:00
Mike Fährmann
e2401c96ee [postprocessor:metadata] add '"mode": "jsonl"' 2022-11-07 15:46:35 +01:00
Mike Fährmann
895f36e53b [postprocessor:metadata] add 'open' and 'encoding' options 2022-11-07 15:37:22 +01:00
Mike Fährmann
5a0b4cfab4 [postprocessor:metadata] don't ignore mode:json
fixes a bug introduced in b57015cf
where {"mode": "json", "format": "foobar"}
would behave like mode:custom
2022-10-06 13:14:08 +02:00
Mike Fährmann
b57015cf0a [postprocessor:metadata] assume 'mode: custom' when format is set
{"name": "metadata", "format": "foobar"}
will now implicitly use mode:custom and no longer mode:json like before
2022-10-04 22:35:26 +02:00
Mike Fährmann
590f2e270c [postprocessor:metadata] fix error with '..' in directory 2022-08-14 17:44:46 +02:00
Mike Fährmann
0c73914848 [postprocessor:metadata] implement 'mode: modify' (#2640) 2022-07-19 12:24:26 +02:00
Mike Fährmann
f3de6b7a87 [postprocessor:metadata] implement 'mode: delete' (#2640) 2022-07-19 00:57:29 +02:00
Mike Fährmann
5b43faffed [postprocessor:metadata] write to stdout by setting filename to "-"
(#2624)
2022-05-30 21:17:31 +02:00
Mike Fährmann
d1bb7fae2d remove 'exist_ok=True' argument from several os.makedirs calls
makedirs in those places is only meant to create missing directories,
anything should be considered an error
2022-05-11 15:04:47 +02:00
Mike Fährmann
9bd27b1b8d [postprocessor:metadata] implement archive options (#2421)
'archive', 'archive-format', and 'archive-prefix'
2022-03-20 21:16:46 +01:00
Mike Fährmann
7958995398 [postprocessor:metadata] implement 'mtime' option (#2307) 2022-02-22 23:02:13 +01:00
Mike Fährmann
74145467dd move 'util.Formatter' into its own 'formatter' module 2021-09-27 02:37:04 +02:00
Mike Fährmann
2ca011dfa8 add 'kwdict' argument to PathFormat.build_filename() 2021-06-20 20:26:38 +02:00
Mike Fährmann
ff8d0d7280 [postprocessor:metadata] ensure reliable tags order (fixes #1598) 2021-06-05 14:49:14 +02:00
Mike Fährmann
4a747a31a3 [postprocessor:metadata] handle dicts in mode;tags (fixes #1598) 2021-06-04 22:37:43 +02:00
Mike Fährmann
3cbbefd4ed support 'filter' option for post processors (#1460) 2021-06-04 18:23:32 +02:00
Mike Fährmann
1bd3d7cfb0 [postprocessor:metadata] call expand_path() on custom paths
(#1299)
2021-02-27 17:19:29 +01:00
Mike Fährmann
fbfcbcbf57 Merge branch '1.17.0' 2021-02-15 02:32:33 +01:00
Mike Fährmann
b3cd970d87 [postprocessor:metadata] fix crash with 'extension-format'
Using the 'extension-format' option for events where no filename
extension is available caused a crash.

(fixes #1285)
2021-02-10 18:45:21 +01:00
Mike Fährmann
ebf417f31f remove support for deprecated options
- instagram.highlights
- metadata.bypost
- exec.final
2021-01-24 22:30:16 +01:00
Mike Fährmann
0fdaea00a3 [postprocessor:metadata] sanitize filenames 2021-01-10 00:13:20 +01:00
Mike Fährmann
b6f1fe59cb add deprecation warnings for exec.final and metadata.bypost 2020-12-12 16:58:23 +01:00
Mike Fährmann
ca59bd691c [postprocessor:metadata] add 'event' and 'filename' options 2020-11-20 22:29:11 +01:00
Mike Fährmann
9fffa9c343 rework post processor callbacks 2020-11-19 02:29:06 +01:00
Mike Fährmann
d83b95fd28 [postprocessor:metadata] accept a string-list for 'content-format'
(closes #1080)
2020-10-27 20:09:58 +01:00
Mike Fährmann
ece73b5b2a make 'path' and 'keywords' available in logging messages
Wrap all loggers used by job, extractor, downloader, and postprocessor
objects into a (custom) LoggerAdapter that provides access to the
underlying job, extractor, pathfmt, and kwdict objects and their
properties.

__init__() signatures for all downloader and postprocessor classes have
been changed to take the current Job object as their first argument,
instead of the current extractor or pathfmt.

(#574, #575)
2020-05-18 19:04:51 +02:00