0x1949 Team - FAZEMRX - MANAGER
Edit File: monkey.cpython-310.pyc
o �bt � @ s G d d� d�Z dS )c @ s@ e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dS )� MonkeyPatcherzn Cover up attributes with new objects. Neat for monkey-patching things for unit-testing purposes. c G s$ g | _ g | _|D ]}| j|� qd S )N)�_patchesToApply� _originals�addPatch)�self�patches�patch� r �7/usr/lib/python3/dist-packages/twisted/python/monkey.py�__init__ s �zMonkeyPatcher.__init__c C s | j �|||f� dS )z� Add a patch so that the attribute C{name} on C{obj} will be assigned to C{value} when C{patch} is called or during C{runWithPatches}. You can restore the original values with a call to restore(). N)r �append�r �obj�name�valuer r r r s zMonkeyPatcher.addPatchc C s, | j D ]\}}}||f||fkr dS qdS )zc Has the C{name} attribute of C{obj} already been patched by this patcher? TF)r )r r r �o�n�vr r r �_alreadyPatched s �zMonkeyPatcher._alreadyPatchedc C sF | j D ]\}}}| �||�s| j�||t||�f� t|||� qdS )z� Apply all of the patches that have been specified with L{addPatch}. Reverse this operation using L{restore}. N)r r r r �getattr�setattrr r r r r ) s �zMonkeyPatcher.patchc C s0 | j r| j �� \}}}t|||� | j sdS dS )zE Restore all original values to any patched objects. N)r �popr r r r r �restore3 s �zMonkeyPatcher.restorec O s, | � � z||i |��W | �� S | �� w )z� Apply each patch already specified. Then run the function f with the given args and kwargs. Restore everything when done. )r r )r �f�args�kwr r r �runWithPatches; s zMonkeyPatcher.runWithPatchesN) �__name__� __module__�__qualname__�__doc__r r r r r r r r r r r s r N)r r r r r �<module> s