관리-도구
편집 파일: _functools.cpython-37.opt-1.pyc
B T a� � @ s` d Z ddlmZ ddlmZ er8ddlmZ ddlmZ dZdZ ee fdd �Z ee fd d�ZdS ) z� A backport of Python 3 functools to Python 2/3. The only important change we rely upon is that `update_wrapper` handles AttributeError gracefully. � )�partial)�MYPY)�Any)�Callable)� __module__�__name__�__qualname__�__doc__�__annotations__)�__dict__c C sn x<|D ]4}yt ||�}W n tk r, Y qX t| ||� qW x$|D ]}t | |��t ||i �� qDW || _| S )a� 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) )�getattr�AttributeError�setattr�update�__wrapped__)�wrapper�wrapped�assigned�updated�attr�value� r �F/opt/alt/python37/lib/python3.7/site-packages/sentry_sdk/_functools.py�update_wrapper s r c C s t t| ||d�S )a| 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(). )r r r )r r )r r r r r r �wraps8 s r N)r � functoolsr Zsentry_sdk._typesr �typingr r �WRAPPER_ASSIGNMENTS�WRAPPER_UPDATESr r r r r r �<module> s