From 3e49ee9a9b9f517f0f53dbee73b498797cdec283 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 1 Jun 2021 20:36:51 +0200 Subject: reflector-2020.12.7.1.tar.xz --- Reflector.py | 18 ++++++++++++++---- setup.py | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Reflector.py b/Reflector.py index 95b6798..7b6b7ab 100644 --- a/Reflector.py +++ b/Reflector.py @@ -206,10 +206,20 @@ class DownloadTimer(): return self def __exit__(self, typ, value, traceback): - self.time = time.time() - self.start_time + time_delta = time.time() - self.start_time + signal.alarm(0) + self.time = time_delta if self.timeout > 0: signal.signal(signal.SIGALRM, self.previous_handler) - signal.alarm(self.previous_timer) + + previous_timer = self.previous_timer + if previous_timer > 0: + remaining_time = int(previous_timer - time_delta) + # The alarm should have been raised during the download. + if remaining_time <= 0: + signal.raise_signal(signal.SIGALRM) + else: + signal.alarm(remaining_time) self.start_time = None @@ -276,7 +286,7 @@ def rate_rsync( DownloadTimeout ) as err: logger = get_logger() - logger.info('failed to rate rsync download (%s): %s', db_url, err) + logger.warning('failed to rate rsync download (%s): %s', db_url, err) return 0, 0 @@ -304,7 +314,7 @@ def rate_http( DownloadTimeout ) as err: logger = get_logger() - logger.info('failed to rate http(s) download (%s): %s', db_url, err) + logger.warning('failed to rate http(s) download (%s): %s', db_url, err) return 0, 0 diff --git a/setup.py b/setup.py index 81f2875..29a73e6 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ import time setup( name='''Reflector''', - version=time.strftime('%Y.%m.%d.%H.%M.%S', time.gmtime(1607320056)), + version=time.strftime('%Y.%m.%d.%H.%M.%S', time.gmtime(1607321105)), description='''A Python 3 module and script to retrieve and filter the latest Pacman mirror list.''', author='''Xyne''', author_email='''ac xunilhcra enyx, backwards''', -- cgit v1.2.3-54-g00ecf