$12 GRAYBYTE WORDPRESS FILE MANAGER $61

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.15.130 | ADMIN IP 216.73.217.149
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
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
..
--
11 Feb 2026 9.30 AM
root / root
0755
__pycache__
--
11 Feb 2026 9.30 AM
root / root
0755
__init__.py
0 KB
20 Jan 2026 1.01 PM
root / root
0644
_jaraco_text.py
3.271 KB
20 Jan 2026 1.01 PM
root / root
0644
_log.py
0.991 KB
20 Jan 2026 1.01 PM
root / root
0644
appdirs.py
1.642 KB
20 Jan 2026 1.01 PM
root / root
0644
compat.py
2.455 KB
20 Jan 2026 1.01 PM
root / root
0644
compatibility_tags.py
6.475 KB
20 Jan 2026 1.01 PM
root / root
0644
datetime.py
0.235 KB
20 Jan 2026 1.01 PM
root / root
0644
deprecation.py
3.609 KB
20 Jan 2026 1.01 PM
root / root
0644
direct_url_helpers.py
3.125 KB
20 Jan 2026 1.01 PM
root / root
0644
egg_link.py
2.401 KB
20 Jan 2026 1.01 PM
root / root
0644
entrypoints.py
3.246 KB
20 Jan 2026 1.01 PM
root / root
0644
filesystem.py
5.368 KB
20 Jan 2026 1.01 PM
root / root
0644
filetypes.py
0.673 KB
20 Jan 2026 1.01 PM
root / root
0644
glibc.py
3.639 KB
20 Jan 2026 1.01 PM
root / root
0644
hashes.py
4.881 KB
20 Jan 2026 1.01 PM
root / root
0644
logging.py
11.824 KB
20 Jan 2026 1.01 PM
root / root
0644
misc.py
22.826 KB
20 Jan 2026 1.01 PM
root / root
0644
packaging.py
1.563 KB
20 Jan 2026 1.01 PM
root / root
0644
retry.py
1.427 KB
20 Jan 2026 1.01 PM
root / root
0644
subprocess.py
8.772 KB
20 Jan 2026 1.01 PM
root / root
0644
temp_dir.py
9.089 KB
20 Jan 2026 1.01 PM
root / root
0644
unpacking.py
12.67 KB
20 Jan 2026 1.01 PM
root / root
0644
urls.py
1.563 KB
20 Jan 2026 1.01 PM
root / root
0644
virtualenv.py
3.374 KB
20 Jan 2026 1.01 PM
root / root
0644
wheel.py
4.363 KB
20 Jan 2026 1.01 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF