From 6e1aa5345543cad91253a2ce994f0b8b7541996b Mon Sep 17 00:00:00 2001 From: simon987 Date: Tue, 6 Apr 2021 21:23:28 -0400 Subject: [PATCH] Add retry_sleep to retry --- hexlib/misc.py | 5 ++++- hexlib/web.py | 4 ++-- setup.py | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/hexlib/misc.py b/hexlib/misc.py index 127aaf7..a2583bd 100644 --- a/hexlib/misc.py +++ b/hexlib/misc.py @@ -4,12 +4,14 @@ import time from threading import Lock import atexit +from time import sleep + import siphash last_time_called = dict() -def retry(attempts, callback=None): +def retry(attempts, callback=None, retry_sleep=0): def decorate(func): def wrapper(*args, **kwargs): retries = attempts @@ -20,6 +22,7 @@ def retry(attempts, callback=None): if callback: callback(e) retries -= 1 + sleep(retry_sleep) return wrapper return decorate diff --git a/hexlib/web.py b/hexlib/web.py index 1624df7..ee0e95f 100644 --- a/hexlib/web.py +++ b/hexlib/web.py @@ -112,7 +112,7 @@ def download_file(url, destination, session=None, headers=None, overwrite=False, class Web: - def __init__(self, proxy=None, rps=1, retries=3, logger=None, cookie_file=None, retry_codes=None, session=None, + def __init__(self, proxy=None, rps=1, retries=3, retry_sleep=0, logger=None, cookie_file=None, retry_codes=None, session=None, ua=None): self._cookie_file = cookie_file self._proxy = proxy @@ -140,7 +140,7 @@ class Web: } @rate_limit(rps) - @retry(retries, callback=self._error_callback) + @retry(retries, callback=self._error_callback, retry_sleep=retry_sleep) def get(url, **kwargs): self._current_req = "GET", url, kwargs r = self._session.get(url, **kwargs) diff --git a/setup.py b/setup.py index 21996b1..ce03442 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="hexlib", - version="1.36", + version="1.37", description="Misc utility methods", author="simon987", author_email="me@simon987.net",