From ef90a2de2f8ab8ebf78d29b1a841c20e49c98b0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Fri, 5 May 2017 15:49:58 +0200 Subject: [PATCH] implement the "exit" option for the "skip" config-key --- gallery_dl/util.py | 9 ++++++--- test/test_extractors.py | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gallery_dl/util.py b/gallery_dl/util.py index 95e67ce1..839e26f6 100644 --- a/gallery_dl/util.py +++ b/gallery_dl/util.py @@ -145,8 +145,10 @@ class PathFormat(): skipmode = extractor.config("skip", True) if skipmode == "abort": self.exists = self._exists_abort + elif skipmode == "exit": + self.exists = self._exists_exit elif not skipmode: - self.exists = self._exists_false + self.exists = lambda: False def open(self): """Open file to 'realpath' and return a corresponding file object""" @@ -195,8 +197,9 @@ class PathFormat(): raise exception.StopExtraction() return False - @staticmethod - def _exists_false(): + def _exists_exit(self): + if self.has_extension and os.path.exists(self.realpath): + exit() return False @staticmethod diff --git a/test/test_extractors.py b/test/test_extractors.py index 6dd84ce9..99d48ef2 100644 --- a/test/test_extractors.py +++ b/test/test_extractors.py @@ -49,9 +49,9 @@ def _generate_test(extr, tcase): skip = [ # dont work on travis-ci - "exhentai", "kissmanga", "mangafox", "dynastyscans", + "exhentai", "kissmanga", "mangafox", "dynastyscans", "nijie", # temporary issues - + "imgchili", ] # enable selective testing for direct calls if __name__ == '__main__' and len(sys.argv) > 1: