%PDF- %PDF-
Direktori : /lib/python3/dist-packages/blinker/__pycache__/ |
Current File : //lib/python3/dist-packages/blinker/__pycache__/_saferef.cpython-312.pyc |
� �]ue�# � � � d Z ddlZddlZddlZddlZ ej d� Z ej d� Zdd�Z G d� d� Z y) z-Refactored 'safe reference from dispatcher.py� N�__self__�__func__c � � t | � }|�2t | d� st | d� sJ d| �d�� �t | |�� }|S y# t $ r; t |� rt j | |� cY S t j | � cY S w xY w)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. N�im_funcr zsafe_ref target z@ has im_self, but no im_func, don't know how to create reference)�target� on_delete)�get_self�hasattr�BoundMethodWeakref�AttributeError�callable�weakref�ref)r r �im_self� references �2/usr/lib/python3/dist-packages/blinker/_saferef.py�safe_refr . s� � ���6�"�� �� �6�9�-����1L� �"�6�*� -5� 5� �L� +�&�I�N�I��� �� � '��I���;�;�v�y�1�1��;�;�v�&�&� '�s �A �*B�.B�Bc � � � e Zd ZdZ ej � Zd � fd� Zd d�Ze d� � Z d� ZeZd� Z d� Zd� Zd � Z� xZS )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. c � �� | j |� }| j j |� }|�|j j |� |S t �| � | � }|| j |<