$64 GRAYBYTE WORDPRESS FILE MANAGER $90

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/pip/_internal/utils/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/pip/_internal/utils//retry.py
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

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
14 Aug 2025 9.24 PM
root / root
0755
__pycache__
--
14 Aug 2025 9.30 PM
root / root
0755
__init__.py
0 KB
17 Apr 2025 8.10 PM
root / root
0644
_jaraco_text.py
3.271 KB
17 Apr 2025 8.10 PM
root / root
0644
_log.py
0.991 KB
17 Apr 2025 8.10 PM
root / root
0644
appdirs.py
1.626 KB
17 Apr 2025 8.10 PM
root / root
0644
compat.py
2.343 KB
17 Apr 2025 8.10 PM
root / root
0644
compatibility_tags.py
6.125 KB
17 Apr 2025 8.10 PM
root / root
0644
datetime.py
0.236 KB
17 Apr 2025 8.10 PM
root / root
0644
deprecation.py
3.62 KB
17 Apr 2025 8.10 PM
root / root
0644
direct_url_helpers.py
3.121 KB
17 Apr 2025 8.10 PM
root / root
0644
egg_link.py
2.405 KB
17 Apr 2025 8.10 PM
root / root
0644
entrypoints.py
2.992 KB
17 Apr 2025 8.10 PM
root / root
0644
filesystem.py
4.834 KB
17 Apr 2025 8.10 PM
root / root
0644
filetypes.py
0.699 KB
17 Apr 2025 8.10 PM
root / root
0644
glibc.py
3.646 KB
17 Apr 2025 8.10 PM
root / root
0644
hashes.py
4.855 KB
17 Apr 2025 8.10 PM
root / root
0644
logging.py
11.567 KB
17 Apr 2025 8.10 PM
root / root
0644
misc.py
22.9 KB
17 Apr 2025 8.10 PM
root / root
0644
packaging.py
2.092 KB
17 Apr 2025 8.10 PM
root / root
0644
retry.py
1.359 KB
17 Apr 2025 8.10 PM
root / root
0644
setuptools_build.py
4.331 KB
17 Apr 2025 8.10 PM
root / root
0644
subprocess.py
8.777 KB
17 Apr 2025 8.10 PM
root / root
0644
temp_dir.py
9.092 KB
17 Apr 2025 8.10 PM
root / root
0644
unpacking.py
11.687 KB
17 Apr 2025 8.10 PM
root / root
0644
urls.py
1.562 KB
17 Apr 2025 8.10 PM
root / root
0644
virtualenv.py
3.375 KB
17 Apr 2025 8.10 PM
root / root
0644
wheel.py
4.389 KB
17 Apr 2025 8.10 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF