File: //lib64/python3.8/__pycache__/functools.cpython-38.opt-1.pyc
U
e5d
@ s d Z ddddddddd d
ddd
g
ZddlmZ ddlmZ ddlmZ ddlm Z dZ
dZe
efddZe
efddZ
efddZefddZefddZefddZefdd Zefd!d"Zefd#d$Zefd%d&Zefd'd(Zefd)d*Zefd+d,Zefd-d.Zd/efd0efd1efgd1efd2efd/efgd2efd1efd0efgd0efd/efd2efgd3Zd4d Zd5d Zzdd6lmZ W n ek
r Y nX e Z!e!fd7dZ"zdd8lm"Z" W n ek
r Y nX G d9d d Z#zdd:lm#Z# W n ek
r Y nX G d;d
d
e Z$d<d= Z%ed>d?d@dAdBgZ&G dCdD dDe'Z(e fe)e*he+e,e-fdEdFZ.dYdIdZ/dJdK Z0zddLlm0Z0 W n ek
r Y nX dMdN Z1dZdPdQZ2dRdS Z3dTdU Z4dVd Z5G dWd dZ6e Z7G dXd
d
Z8dOS )[zEfunctools.py - Tools for working with functions and callable objects
update_wrapperwrapsWRAPPER_ASSIGNMENTSWRAPPER_UPDATEStotal_ordering
cmp_to_key lru_cachereducepartial
partialmethodsingledispatchsingledispatchmethodcached_property )get_cache_token)
namedtuple)recursive_repr)RLock)
__module____name____qualname____doc____annotations__)__dict__c C sf |D ]4}zt ||}W n tk
r* Y qX t| || q|D ]}t | |t ||i q>|| _| 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)
)getattrAttributeErrorsetattrupdate__wrapped__)wrapperwrappedassignedupdatedattrvalue r$ !/usr/lib64/python3.8/functools.pyr "