[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.119.192.221: ~ $
"""
A backport of Python 3 functools to Python 2/3. The only important change
we rely upon is that `update_wrapper` handles AttributeError gracefully.
"""

from functools import partial

from sentry_sdk._types import MYPY

if MYPY:
    from typing import Any
    from typing import Callable


WRAPPER_ASSIGNMENTS = (
    "__module__",
    "__name__",
    "__qualname__",
    "__doc__",
    "__annotations__",
)
WRAPPER_UPDATES = ("__dict__",)


def update_wrapper(
    wrapper, wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES
):
    # type: (Any, Any, Any, Any) -> Any
    """Update a wrapper function to look like the wrapped function

    wrapper is the function to be updated
    wrapped is the original function
    assigned is a tuple naming the attributes assigned directly
    from the wrapped function to the wrapper function (defaults to
    functools.WRAPPER_ASSIGNMENTS)
    updated is a tuple naming the attributes of the wrapper that
    are updated with the corresponding attribute from the wrapped
    function (defaults to functools.WRAPPER_UPDATES)
    """
    for attr in assigned:
        try:
            value = getattr(wrapped, attr)
        except AttributeError:
            pass
        else:
            setattr(wrapper, attr, value)
    for attr in updated:
        getattr(wrapper, attr).update(getattr(wrapped, attr, {}))
    # Issue #17482: set __wrapped__ last so we don't inadvertently copy it
    # from the wrapped function when updating __dict__
    wrapper.__wrapped__ = wrapped
    # Return the wrapper so this can be used as a decorator via partial()
    return wrapper


def wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES):
    # type: (Callable[..., Any], Any, Any) -> Callable[[Callable[..., Any]], Callable[..., Any]]
    """Decorator factory to apply update_wrapper() to a wrapper function

    Returns a decorator that invokes update_wrapper() with the decorated
    function as the wrapper argument and the arguments to wraps() as the
    remaining arguments. Default arguments are as for update_wrapper().
    This is a convenience function to simplify applying partial() to
    update_wrapper().
    """
    return partial(update_wrapper, wrapped=wrapped, assigned=assigned, updated=updated)

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
integrations Folder 0755
__init__.py File 854 B 0644
_compat.py File 2.3 KB 0644
_functools.py File 2.22 KB 0644
_queue.py File 8.21 KB 0644
_types.py File 1.26 KB 0644
api.py File 4.69 KB 0644
attachments.py File 1.75 KB 0644
client.py File 14.03 KB 0644
consts.py File 3.5 KB 0644
debug.py File 1.11 KB 0644
envelope.py File 8.17 KB 0644
hub.py File 21.35 KB 0644
py.typed File 0 B 0644
scope.py File 15.62 KB 0644
serializer.py File 15.92 KB 0644
sessions.py File 7.67 KB 0644
tracing.py File 25.24 KB 0644
transport.py File 11.48 KB 0644
utils.py File 26.26 KB 0644
worker.py File 3.87 KB 0644