/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/utils
NameSizeModeActions
__pycache__/-0755rm
appdirs.py16810644editdlrm
compat.py25140644editdlrm
compatibility_tags.py66300644editdlrm
datetime.py8680644editdlrm
deprecation.py43190644editdlrm
direct_url_helpers.py33630644editdlrm
egg_link.py24590644editdlrm
entrypoints.py33240644editdlrm
filesystem.py68120644editdlrm
filetypes.py6890644editdlrm
glibc.py37260644editdlrm
hashes.py50400644editdlrm
logging.py134140644editdlrm
misc.py237040644editdlrm
packaging.py16010644editdlrm
pylock.py93580644editdlrm
retry.py14610644editdlrm
subprocess.py89830644editdlrm
temp_dir.py93070644editdlrm
unpacking.py135840644editdlrm
urls.py16010644editdlrm
virtualenv.py34550644editdlrm
wheel.py44680644editdlrm
_jaraco_text.py33500644editdlrm
_log.py10150644editdlrm
__init__.py00644editdlrm
Edit: /opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/utils/retry.py (1461B)
from __future__ import annotations import functools from time import perf_counter, sleep from typing import TYPE_CHECKING, Callable, TypeVar if TYPE_CHECKING: from typing_extensions import ParamSpec T = TypeVar("T") P = ParamSpec("P") def retry( wait: float, stop_after_delay: float ) -> Callable[[Callable[P, T]], Callable[P, T]]: """Decorator to automatically retry a function on error. If the function raises, the function is recalled with the same arguments until it returns or the time limit is reached. When the time limit is surpassed, the last exception raised is reraised. :param wait: The time to wait after an error before retrying, in seconds. :param stop_after_delay: The time limit after which retries will cease, in seconds. """ def wrapper(func: Callable[P, T]) -> Callable[P, T]: @functools.wraps(func) def retry_wrapped(*args: P.args, **kwargs: P.kwargs) -> T: # The performance counter is monotonic on all platforms we care # about and has much better resolution than time.monotonic(). start_time = perf_counter() while True: try: return func(*args, **kwargs) except Exception: if perf_counter() - start_time > stop_after_delay: raise sleep(wait) return retry_wrapped return wrapper