From a90c6acc9c3660d5a121dda28e35278c520eea31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 17 May 2017 14:31:14 +0200 Subject: [PATCH] code cleanup + fixes --- gallery_dl/job.py | 40 ++++++++++++++++++---------------------- test/test_extractors.py | 2 +- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/gallery_dl/job.py b/gallery_dl/job.py index ae3a4439..9caa5f08 100644 --- a/gallery_dl/job.py +++ b/gallery_dl/job.py @@ -172,42 +172,38 @@ class DownloadJob(Job): class KeywordJob(Job): """Print available keywords""" - def run(self): - for msg in self.extractor: - if msg[0] == Message.Url: - print("\nKeywords for filenames:") - print("-----------------------") - self.update_kwdict(msg[2]) - self.print_keywords(msg[2]) - return - elif msg[0] == Message.Directory: - print("Keywords for directory names:") - print("-----------------------------") - self.update_kwdict(msg[1]) - self.print_keywords(msg[1]) + def handle_url(self, url, keywords): + print("\nKeywords for filenames:") + print("-----------------------") + self.print_keywords(keywords) + raise exception.StopExtraction() + + def handle_directory(self, keywords): + print("Keywords for directory names:") + print("-----------------------------") + self.print_keywords(keywords) @staticmethod - def print_keywords(keywords, prefix="", suffix=""): + def print_keywords(keywords, prefix=""): """Print key-value pairs with formatting""" + suffix = "]" if prefix else "" for key, value in sorted(keywords.items()): + key = prefix + key + suffix if isinstance(value, dict): - nprefix = prefix + key + "[" - KeywordJob.print_keywords(value, nprefix, suffix + "]") + KeywordJob.print_keywords(value, key + "[") elif isinstance(value, list): if value and isinstance(value[0], dict): - nprefix = prefix + key + "[][", - KeywordJob.print_keywords(value[0], nprefix, suffix + "]") + KeywordJob.print_keywords(value[0], key + "[][") else: - print(prefix, key, "[]", suffix, sep="") + print(key, "[]", sep="") for val in value: - print(" - ", val, sep="") + print(" -", val) else: # string or number - print(prefix, key, suffix, sep="") - print(" ", value, sep="") + print(key, "\n ", value, sep="") class UrlJob(Job): diff --git a/test/test_extractors.py b/test/test_extractors.py index ab3c0481..86a26d29 100644 --- a/test/test_extractors.py +++ b/test/test_extractors.py @@ -51,7 +51,7 @@ skip = [ # dont work on travis-ci "exhentai", "kissmanga", "mangafox", "dynastyscans", "nijie", # temporary issues - "yomanga", "hbrowse", + "yomanga", ] # enable selective testing for direct calls if __name__ == '__main__' and len(sys.argv) > 1: