diff options
| author | 2020-06-29 00:33:22 -0400 | |
|---|---|---|
| committer | 2020-06-29 00:33:22 -0400 | |
| commit | 02dd2886783cd303cff6890a741152d013bb00ce (patch) | |
| tree | e5d4a805888147de8efe514a3c55e303230a508b /gallery_dl/job.py | |
| parent | 8c911e3d62a430f5630c13d51b47201fa8ff3cd1 (diff) | |
New upstream version 1.14.2.upstream/1.14.2
Diffstat (limited to 'gallery_dl/job.py')
| -rw-r--r-- | gallery_dl/job.py | 21 |
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() |
