/usr/share/cagefs-skeleton/opt/imunify360/venv/lib/python3.11/site-packages/sentry_sdk
""" 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)
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
_compat.py
Edit
_functools.py
Edit
_queue.py
Edit
_types.py
Edit
api.py
Edit
attachments.py
Edit
client.py
Edit
consts.py
Edit
debug.py
Edit
envelope.py
Edit
hub.py
Edit
integrations
Edit
py.typed
Edit
scope.py
Edit
serializer.py
Edit
sessions.py
Edit
tracing.py
Edit
transport.py
Edit
utils.py
Edit
worker.py
Edit