implement 'path-metadata' option (#2734)

This commit is contained in:
Mike Fährmann
2022-07-30 12:31:45 +02:00
parent 81a37d21d3
commit 7d1a95ada6
3 changed files with 26 additions and 1 deletions

View File

@@ -35,10 +35,13 @@ class Job():
self.status = 0
self.url_key = extr.config("url-metadata")
path_key = extr.config("path-metadata")
path_proxy = output.PathfmtProxy(self)
self._logger_extra = {
"job" : self,
"extractor": extr,
"path" : output.PathfmtProxy(self),
"path" : path_proxy,
"keywords" : output.KwdictProxy(self),
}
extr.log = self._wrap_logger(extr.log)
@@ -58,6 +61,8 @@ class Job():
kwdict = extr.config("keywords")
if kwdict:
self.kwdict.update(kwdict)
if path_key:
self.kwdict[path_key] = path_proxy
# predicates
self.pred_url = self._prepare_predicates("image", True)

View File

@@ -73,6 +73,12 @@ class PathfmtProxy():
pathfmt = object.__getattribute__(self, "job").pathfmt
return pathfmt.__dict__.get(name) if pathfmt else None
def __str__(self):
pathfmt = object.__getattribute__(self, "job").pathfmt
if pathfmt:
return pathfmt.path or pathfmt.directory
return ""
class KwdictProxy():
__slots__ = ("job",)