extend 'parent>child' categories

continuation of ed21908f

allow for children to have an arbitrary distance from their parent,
e.g. reddit -> danbooru -> imgur:gallery -> imgur:album
would still be covered by 'reddit>imgur' or even 'danbooru>imgur'
pull/4412/head
Mike Fährmann 1 year ago
parent 089d1a4f67
commit 3963dbe5e4
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -18,7 +18,7 @@ from .output import stdout_write
class Job():
"""Base class for Job-types"""
"""Base class for Job types"""
ulog = None
def __init__(self, extr, parent=None):
@ -33,15 +33,29 @@ class Job():
self.status = 0
cfgpath = []
if parent and parent.extractor.category != extr.category:
cat = "{}>{}".format(
parent.extractor.category, extr.category)
cfgpath.append((cat, extr.subcategory))
cfgpath.append((extr.category, extr.subcategory))
if parent:
if extr.category == parent.extractor.category or \
extr.category in parent.parents:
parents = parent.parents
else:
parents = parent.parents + (parent.extractor.category,)
if parents:
for category in parents:
cat = "{}>{}".format(category, extr.category)
cfgpath.append((cat, extr.subcategory))
cfgpath.append((extr.category, extr.subcategory))
self.parents = parents
else:
self.parents = ()
else:
self.parents = ()
if extr.basecategory:
if not cfgpath:
cfgpath.append((extr.category, extr.subcategory))
cfgpath.append((extr.basecategory, extr.subcategory))
if cfgpath:
extr._cfgpath = cfgpath
extr.config = extr._config_shared

Loading…
Cancel
Save