extend 'parent-metadata' functionality (#1687, #1651, #1364)

pull/1700/head
Mike Fährmann 3 years ago
parent 193401ce3b
commit e95f99882f
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -165,11 +165,23 @@ Description
extractor.*.parent-metadata
---------------------------
Type
``bool``
``bool`` or ``string``
Default
``false``
Description
Overwrite any metadata provided by a child extractor with its parent's.
If ``true``, overwrite any metadata provided by a child extractor
with its parent's.
| If this is a ``string``, add a parent's metadata to its children's
to a field named after said string.
| For example with ``"parent-metadata": "_p_"``:
.. code:: json
{
"id": "child-id",
"_p_": {"id": "parent-id"}
}
extractor.*.parent-skip

@ -302,11 +302,18 @@ class DownloadJob(Job):
else:
extr._parentdir = pextr._parentdir
if pextr.config("parent-metadata"):
if self.kwdict:
job.kwdict.update(self.kwdict)
if kwdict:
job.kwdict.update(kwdict)
pmeta = pextr.config("parent-metadata")
if pmeta:
if isinstance(pmeta, str):
data = self.kwdict.copy()
if kwdict:
data.update(kwdict)
job.kwdict[pmeta] = data
else:
if self.kwdict:
job.kwdict.update(self.kwdict)
if kwdict:
job.kwdict.update(kwdict)
if pextr.config("parent-skip"):
job._skipcnt = self._skipcnt

Loading…
Cancel
Save