AlkantarClanX12
Current Path : /opt/alt/python310/lib64/python3.10/__pycache__/ |
Current File : //opt/alt/python310/lib64/python3.10/__pycache__/functools.cpython-310.pyc |
o 6��f�� � @ s� d Z g d�ZddlmZ ddlmZ ddlmZ ddlm Z ddl mZ dZd Z ee fd d�Zee fdd �Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefd d!�Zefd"d#�Zefd$d%�Zd&efd'efd(efgd(efd)efd&efgd)efd(efd'efgd'efd&efd)efgd*�Zd+d,� Zd-d.� Zzdd/l mZ W n e!y� Y nw e"� Z#e#fd0d1�Z$zdd2l m$Z$ W n e!y� Y nw G d3d4� d4�Z%zdd5l m%Z% W n e!y� Y nw G d6d7� d7e"�Z&d8d9� Z'ed:g d;��Z(G d<d=� d=e)�Z*e"� fe+e,he-e.e/fd>d?�Z0dXdBdC�Z1dDdE� Z2zddFl m2Z2 W n e!�y; Y nw dGdH� Z3dIdJ� Z4dYdLdM�Z5dNdO� Z6dPdQ� Z7dRdS� Z8G dTdU� dU�Z9e"� Z:G dVdW� dW�Z;dKS )ZzEfunctools.py - Tools for working with functions and callable objects )�update_wrapper�wraps�WRAPPER_ASSIGNMENTS�WRAPPER_UPDATES�total_ordering�cache� cmp_to_key� lru_cache�reduce�partial� partialmethod�singledispatch�singledispatchmethod�cached_property� )�get_cache_token)� namedtuple)�recursive_repr)�RLock)�GenericAlias)� __module__�__name__�__qualname__�__doc__�__annotations__)�__dict__c C sd |D ]}zt ||�}W n ty Y qw 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) )�getattr�AttributeError�setattr�update�__wrapped__)�wrapper�wrapped�assigned�updated�attr�value� r&