diff --git a/zoom_dl/__init__.py b/zoom_dl/__init__.py index 480100c..cd1db7b 100644 --- a/zoom_dl/__init__.py +++ b/zoom_dl/__init__.py @@ -17,3 +17,5 @@ def main(): all_urls = [args.url] # prepare for batch reading zdl = ZoomDL(args) zdl.download(all_urls) + + sys.exit(zdl.exit_code) diff --git a/zoom_dl/zoomdl.py b/zoom_dl/zoomdl.py index 2176193..05bc307 100644 --- a/zoom_dl/zoomdl.py +++ b/zoom_dl/zoomdl.py @@ -26,6 +26,7 @@ def __init__(self, args): self.url, self.domain, self.subdomain = "", "", "" self.metadata = None self.session = requests.session() + self.exit_code = 0 self.loglevel = self.args.log_level @@ -69,6 +70,11 @@ def _print(self, message, level=0): if level < 5 and level >= self.loglevel: print(message) + """Set system exit code to 1 if zoomdl encounters a (critical) error.""" + # there is potential here for more granular exit codes if desired + if level < 5 and level >= 3: + self.exit_code = 1 + def _change_page(self, url): """Change page, with side methods.""" self._print("Changing page to {}".format(url), 0)