[job] implement '"archive-event": "after"' (#8373)

This commit is contained in:
Mike Fährmann
2025-10-14 11:13:17 +02:00
parent ab3e34e9c3
commit 899dcc62cf
2 changed files with 10 additions and 5 deletions

View File

@@ -1134,15 +1134,16 @@ Type
Default
``"file"``
Example
* ``"file,skip"``
* ``["file", "skip"]``
* ``"after,skip"``
* ``["after", "skip"]``
Description
`Event(s) <metadata.event_>`__
for which IDs get written to an
`archive <extractor.*.archive_>`__.
Available events are:
``file``, ``skip``
Available Events
* ``file``
* ``after``
* ``skip``
extractor.*.archive-format

View File

@@ -388,6 +388,8 @@ class DownloadJob(Job):
if "after" in hooks:
for callback in hooks["after"]:
callback(pathfmt)
if archive and self._archive_write_after:
archive.add(kwdict)
def handle_directory(self, kwdict):
"""Set and create the target directory for downloads"""
@@ -593,11 +595,13 @@ class DownloadJob(Job):
if events is None:
self._archive_write_file = True
self._archive_write_skip = False
self._archive_write_after = False
else:
if isinstance(events, str):
events = events.split(",")
self._archive_write_file = ("file" in events)
self._archive_write_skip = ("skip" in events)
self._archive_write_after = ("after" in events)
if skip := cfg("skip", True):
self._skipexc = None