From 9950acfe7f1c3aecac8e1f6401f576aa28a4c34e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 22 Oct 2017 23:30:28 +0100 Subject: [PATCH] mirror check: Catch any false responses Signed-off-by: Michael Tremer --- src/buildservice/mirrors.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/buildservice/mirrors.py b/src/buildservice/mirrors.py index df6576a..f3eb041 100644 --- a/src/buildservice/mirrors.py +++ b/src/buildservice/mirrors.py @@ -205,16 +205,22 @@ class Mirror(base.DataObject): # in seconds since epoch UTC try: timestamp = int(response.body) + + # If we could not parse the timestamp, we probably got + # an error page or something similar. + # So that's an error then... except ValueError: - raise + status = "ERROR" - # Convert to datetime - last_sync_at = datetime.datetime.utcfromtimestamp(timestamp) + # Timestamp seems to be okay + else: + # Convert to datetime + last_sync_at = datetime.datetime.utcfromtimestamp(timestamp) - # Must have synced within 24 hours - now = datetime.datetime.utcnow() - if now - last_sync_at >= datetime.timedelta(hours=24): - status = "OUTOFSYNC" + # Must have synced within 24 hours + now = datetime.datetime.utcnow() + if now - last_sync_at >= datetime.timedelta(hours=24): + status = "OUTOFSYNC" except tornado.httpclient.HTTPError as e: http_status = e.code -- 2.47.3