$65 GRAYBYTE WORDPRESS FILE MANAGER $94

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.162.162 | ADMIN IP 216.73.216.174
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/hc_python/lib/python3.12/site-packages/pip/_internal/utils/

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


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Dec 2025 9.30 AM
root / root
0755
__pycache__
--
3 Dec 2025 9.30 AM
root / root
0755
__init__.py
0 KB
3 Dec 2025 9.30 AM
root / root
0644
_jaraco_text.py
3.271 KB
3 Dec 2025 9.30 AM
root / root
0644
_log.py
0.991 KB
3 Dec 2025 9.30 AM
root / root
0644
appdirs.py
1.642 KB
3 Dec 2025 9.30 AM
root / root
0644
compat.py
2.455 KB
3 Dec 2025 9.30 AM
root / root
0644
compatibility_tags.py
6.475 KB
3 Dec 2025 9.30 AM
root / root
0644
datetime.py
0.235 KB
3 Dec 2025 9.30 AM
root / root
0644
deprecation.py
3.609 KB
3 Dec 2025 9.30 AM
root / root
0644
direct_url_helpers.py
3.125 KB
3 Dec 2025 9.30 AM
root / root
0644
egg_link.py
2.401 KB
3 Dec 2025 9.30 AM
root / root
0644
entrypoints.py
3.246 KB
3 Dec 2025 9.30 AM
root / root
0644
filesystem.py
5.368 KB
3 Dec 2025 9.30 AM
root / root
0644
filetypes.py
0.673 KB
3 Dec 2025 9.30 AM
root / root
0644
glibc.py
3.639 KB
3 Dec 2025 9.30 AM
root / root
0644
hashes.py
4.881 KB
3 Dec 2025 9.30 AM
root / root
0644
logging.py
11.824 KB
3 Dec 2025 9.30 AM
root / root
0644
misc.py
22.826 KB
3 Dec 2025 9.30 AM
root / root
0644
packaging.py
1.563 KB
3 Dec 2025 9.30 AM
root / root
0644
retry.py
1.427 KB
3 Dec 2025 9.30 AM
root / root
0644
subprocess.py
8.772 KB
3 Dec 2025 9.30 AM
root / root
0644
temp_dir.py
9.089 KB
3 Dec 2025 9.30 AM
root / root
0644
unpacking.py
12.67 KB
3 Dec 2025 9.30 AM
root / root
0644
urls.py
1.563 KB
3 Dec 2025 9.30 AM
root / root
0644
virtualenv.py
3.374 KB
3 Dec 2025 9.30 AM
root / root
0644
wheel.py
4.363 KB
3 Dec 2025 9.30 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF