Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > site-packages > pip > _internal > utils
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
__init__.py | File | 0 bytes | April 17 2025 13:10:58. | |
_jaraco_text.py | File | 3350 bytes | April 17 2025 13:10:58. | |
_log.py | File | 1015 bytes | April 17 2025 13:10:58. | |
appdirs.py | File | 1665 bytes | April 17 2025 13:10:58. | |
compat.py | File | 2399 bytes | April 17 2025 13:10:58. | |
compatibility_tags.py | File | 6272 bytes | April 17 2025 13:10:58. | |
datetime.py | File | 242 bytes | April 17 2025 13:10:58. | |
deprecation.py | File | 3707 bytes | April 17 2025 13:10:58. | |
direct_url_helpers.py | File | 3196 bytes | April 17 2025 13:10:58. | |
egg_link.py | File | 2463 bytes | April 17 2025 13:10:58. | |
entrypoints.py | File | 3064 bytes | April 17 2025 13:10:58. | |
filesystem.py | File | 4950 bytes | April 17 2025 13:10:58. | |
filetypes.py | File | 716 bytes | April 17 2025 13:10:58. | |
glibc.py | File | 3734 bytes | April 17 2025 13:10:58. | |
hashes.py | File | 4972 bytes | April 17 2025 13:10:58. | |
logging.py | File | 11845 bytes | April 17 2025 13:10:58. | |
misc.py | File | 23450 bytes | April 17 2025 13:10:58. | |
packaging.py | File | 2142 bytes | April 17 2025 13:10:58. | |
retry.py | File | 1392 bytes | April 17 2025 13:10:58. | |
setuptools_build.py | File | 4435 bytes | April 17 2025 13:10:58. | |
subprocess.py | File | 8988 bytes | April 17 2025 13:10:58. | |
temp_dir.py | File | 9310 bytes | April 17 2025 13:10:58. | |
unpacking.py | File | 11967 bytes | April 17 2025 13:10:58. | |
urls.py | File | 1599 bytes | April 17 2025 13:10:58. | |
virtualenv.py | File | 3456 bytes | April 17 2025 13:10:58. | |
wheel.py | File | 4494 bytes | April 17 2025 13:10:58. |
import functools from time import perf_counter, sleep from typing import Callable, TypeVar from pip._vendor.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
SILENT KILLER Tool