0x1949 Team - FAZEMRX - MANAGER
Edit File: _saferef.cpython-310.pyc
o � �Q$ � @ s� d Z ddlZddlZddlZddlZze W n ey# dd� ZY nw ejdk r4e�d�Z e�d�Z n e�d�Z e�d �Z dd d�ZG dd � d e�Z dS )z-Refactored 'safe reference from dispatcher.py� Nc C s t | d�S )N�__call__)�hasattr)�object� r �2/usr/lib/python3/dist-packages/blinker/_saferef.py�callable. s r )� �im_self�im_func�__self__�__func__c C s~ zt | �}W n ty t|�rt�| |� Y S t�| � Y S w |dur=t| d�s5t| d�s5J d| ��t| |d�}|S dS )a� Return a *safe* weak reference to a callable target. - ``target``: The object to be weakly referenced, if it's a bound method reference, will create a BoundMethodWeakref, otherwise creates a simple weakref. - ``on_delete``: If provided, will have a hard reference stored to the callable to be called after the safe reference goes out of scope with the reference object, (either a weakref or a BoundMethodWeakref) as argument. Nr r zRsafe_ref target %r has im_self, but no im_func, don't know how to create reference)�target� on_delete)�get_self�AttributeErrorr �weakref�refr �BoundMethodWeakref)r r r � referencer r r �safe_ref: s ����r c sh e Zd ZdZe�� Zd� fdd� Zddd�Zdd� Z e e �Z d d � ZeZdd� Z d d� Zdd� Z� ZS )r a� 'Safe' and reusable weak references to instance methods. BoundMethodWeakref objects provide a mechanism for referencing a bound method without requiring that the method object itself (which is normally a transient object) is kept alive. Instead, the BoundMethodWeakref object keeps weak references to both the object and the function which together define the instance method. Attributes: - ``key``: The identity key for the reference, calculated by the class's calculate_key method applied to the target instance method. - ``deletion_methods``: Sequence of callable objects taking single argument, a reference to this object which will be called when *either* the target object or target function is garbage collected (i.e. when this object becomes invalid). These are specified as the on_delete parameters of safe_ref calls. - ``weak_self``: Weak reference to the target object. - ``weak_func``: Weak reference to the target function. Class Attributes: - ``_all_instances``: Class attribute pointing to all live BoundMethodWeakref objects indexed by the class's calculate_key(target) method applied to the target objects. This weak value dictionary is used to short-circuit creation so that multiple references to the same (object, function) pair produce the same BoundMethodWeakref instance. Nc sf | � |�}| j�|�}|dur|j�|� |S tt| ��| �}|| j|<