CasperSecurity

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

o

�b��@s�UdZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZe��a
Gdd�d�ZiZe	eefed	<d
d�Zdd
�ZGdd�de�Zdd�Zdd�Zddd�ZdS)z&
*Real* reloading support for Python.
�N)�reload)�
ModuleType)�Dict)�log�reflectc@s,eZdZdZeZdd�Zdd�Zdd�ZdS)	�	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.
    cCs|jtk}|S�N)�lastRebuild)�self�yn�r�8/usr/lib/python3/dist-packages/twisted/python/rebuild.py�needRebuildUpdate$s
zSensitive.needRebuildUpdatecCst��|_dSr)�timer	�r
rrr
�rebuildUpToDate(szSensitive.rebuildUpToDatecCsXt|�}|tjkr
t|�S|tjkr%|jdurt|j|j�St|j|j�St	�
d�|S)z�
        Get the latest version of an object.

        This can handle just about anything callable; instances, functions,
        methods, and classes.
        Nzwarning returning anObject!)�type�types�FunctionType�latestFunction�
MethodType�__self__�getattr�im_class�__name__r�msg)r
�anObject�trrr
�latestVersionOf+s



zSensitive.latestVersionOfN)r�
__module__�__qualname__�__doc__r	rrrrrrr
rsr�
_modDictIDMapcCs,t|j�}t�|�}|dur|St||j�S)z/
    Get the latest version of a function.
    N)�id�__globals__r"�getrr)�oldFunc�dictID�modulerrr
rBs


rcCszt�|j�}t||j�}dd�|jD�}|jdkr|Szt|�|_|WSty<t|�}||jt|�t	|j
��YSw)z,
    Get the latest version of a class.
    cSsg|]}t|��qSr)�latestClass)�.0�baserrr
�
<listcomp>UszlatestClass.<locals>.<listcomp>�builtins)r�namedModulerrr�	__bases__�tuple�	TypeErrorr�dict�__dict__)�oldClassr(�newClass�newBases�ctorrrr
r)Os

�r)c@seZdZdZdS)�RebuildErrorzT
    Exception raised when trying to rebuild a class whereas it's not possible.
    N)rrr r!rrrr
r8dsr8cCst|j�|_dS)z,
    Updates an instance to be current.
    N)r)�	__class__rrrr
�updateInstancejsr:cCsF|dkrtd��t|�t�dt�|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)))�AttributeErrorr:rrr�qualr9r)r
�name�resultrrr
�__injectedgetattr__qs 
r@�c
Cs�t��at|d�r|jstd��|rt�dt|j��d��ddl	m
}d|_|j}|t
t|�<i}i}i}i}|rFt�dt|j��d	��|��D]@\}}	tt|	�tj�rn|	j|jurmd
||	<|rmtj�d�tj��qJt|	t�r�|	j|jkr�d
||	<|r�tj�d�tj��qJ|�|�|�|�|j}
|��}|��}|��}|r�t�d
�t�dt|j��d��t|�t��|r�t�dt|j��d	��|D]3}t ||j�|ur�t�dt!�"|��d��q�|r�tj�d�tj��d|_#|j�$�t%|_&|j|_q�|�r
ddl'}|D]0}
t ||
j�}||
u�r&t�d�(t!�"|
����q|�)|
�D]}t |dd�|
u�r9||_*�q+�q|�rQt�d
�t�dt|j��d	��d}t+j,��D]{\}}|d
}||k�sj|du�rl�qXt|d��st�qXt|d��r|�qXd}|j��D]6\}}	zt-|	�Wnt.�y�Y�q�w|
|	��r�|�r�tj�d�tj��t/|	�}d
}t0|||��q�|�r�|�s�|ddk�r�tj�d�tj���qXd|_|�r�t�d
�t�dt|j��d��|S)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): rA�f�o�z  (reload   �)z  (cleaning zWARNING: class z not replaced by reload!�xrNz-WARNING: new-class {} not replaced by reload!r9z  (fixing   �__file__�
__bundle__�
�.Fz   Rebuilt )1rr	�hasattrrB�RuntimeErrorrr�strr�twisted.pythonrC�ALLOW_DUPLICATESr3r"r#�items�
issubclassrrrr$�logfile�write�flush�
isinstancer�update�__contains__�keysr�	linecache�
clearcacherrr=r/�clearr@�__getattr__�gc�format�
get_referrersr9�sys�modules�hash�	Exceptionr�setattr)r(�doLogrC�d�
newclasses�classes�	functions�values�k�v�
fromOldModule�clazzr_�nclass�ga�r�modcount�mk�mod�changed�nvrrr
�rebuild}s�

�

�






����
�

�
�
ry)rA)r!r[rbrr�imprr�typingrrPrrr	rr"�int�__annotations__rr)rer8r:r@ryrrrr
�<module>s$%

Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY