aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/job.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2020-06-29 00:33:22 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2020-06-29 00:33:22 -0400
commit02dd2886783cd303cff6890a741152d013bb00ce (patch)
treee5d4a805888147de8efe514a3c55e303230a508b /gallery_dl/job.py
parent8c911e3d62a430f5630c13d51b47201fa8ff3cd1 (diff)
New upstream version 1.14.2.upstream/1.14.2
Diffstat (limited to 'gallery_dl/job.py')
-rw-r--r--gallery_dl/job.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/gallery_dl/job.py b/gallery_dl/job.py
index 130df58..923a4e6 100644
--- a/gallery_dl/job.py
+++ b/gallery_dl/job.py
@@ -454,15 +454,18 @@ class KeywordJob(Job):
self.print_kwdict(kwdict)
def handle_queue(self, url, kwdict):
+ extr = None
+ if "_extractor" in kwdict:
+ extr = kwdict["_extractor"].from_url(url)
+
if not util.filter_dict(kwdict):
self.extractor.log.info(
"This extractor only spawns other extractors "
"and does not provide any metadata on its own.")
- if "_extractor" in kwdict:
+ if extr:
self.extractor.log.info(
"Showing results for '%s' instead:\n", url)
- extr = kwdict["_extractor"].from_url(url)
KeywordJob(extr, self).run()
else:
self.extractor.log.info(
@@ -471,9 +474,9 @@ class KeywordJob(Job):
print("Keywords for --chapter-filter:")
print("------------------------------")
self.print_kwdict(kwdict)
- if self.extractor.categorytransfer:
+ if extr or self.extractor.categorytransfer:
print()
- KeywordJob(url, self).run()
+ KeywordJob(extr or url, self).run()
raise exception.StopExtraction()
@staticmethod
@@ -559,7 +562,12 @@ class DataJob(Job):
util.transform_dict(msg[-1], util.number_to_string)
# dump to 'file'
- util.dump_json(self.data, self.file, self.ascii, 2)
+ try:
+ util.dump_json(self.data, self.file, self.ascii, 2)
+ self.file.flush()
+ except Exception:
+ pass
+
return 0
def handle_url(self, url, kwdict):
@@ -576,6 +584,3 @@ class DataJob(Job):
def handle_queue(self, url, kwdict):
self.data.append((Message.Queue, url, self.filter(kwdict)))
-
- def handle_finalize(self):
- self.file.close()