From cfe3ef63a01356583a048dc59157a4c8e0f6f591 Mon Sep 17 00:00:00 2001 From: lost Date: Sun, 25 Jul 2021 00:00:00 +0000 Subject: [PATCH] Improve error handling a little. --- scripts/download_page.py | 8 ++++++-- scripts/rsstube.py | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/download_page.py b/scripts/download_page.py index 92fcf81..4b28693 100644 --- a/scripts/download_page.py +++ b/scripts/download_page.py @@ -2,7 +2,7 @@ import pycurl from io import BytesIO -from utils import notify,debug +from utils import notify,debug,error # args should be a dictionary of arguments # return page bytes, response code @@ -21,7 +21,11 @@ def download (platform, url, args, verbosity, return_http_code=False): # c.setopt(pycurl.CIPHERS, args["ciphers"] notify ("Downloading " + url + "...", verbosity, platform) - c.perform() + try: + c.perform() + except pycurl.error as e: + error (str(e), verbosity, platform) + return None response_code = c.getinfo(c.RESPONSE_CODE) c.close() debug (url + " downloaded!", verbosity, platform) diff --git a/scripts/rsstube.py b/scripts/rsstube.py index b32ba5d..f7221a2 100755 --- a/scripts/rsstube.py +++ b/scripts/rsstube.py @@ -73,6 +73,9 @@ for url in sys.argv[arg_count+1:]: elif network: from download_page import download page = download (None, url, args, verbosity) + if page is None: + error ("Failed to download " + url, verbosity) + continue # try to get feed for common software like PeerTube debug ("Attempting to determine software from page...", verbosity)