
    Yf                     f    d Z ddgZddlZddlZddlmZ  G d de          Z G d de          ZdS )z/
Testing helpers related to the module system.
	NoReactorAlternateReactor    N)SetAsideModulec                   $    e Zd ZdZd Zd Zd ZdS )r   zc
    Context manager that uninstalls the reactor, if any, and then restores it
    afterwards.
    c                 0    t          j        | d           d S Nztwisted.internet.reactor)r   __init__selfs    U/var/www/html/env/lib/python3.11/site-packages/twisted/internet/test/modulehelpers.pyr	   zNoReactor.__init__   s    &@AAAAA    c                 \    t          j        |            d| j        v rt          j        `d S d S r   )r   	__enter__modulestwistedinternetreactorr
   s    r   r   zNoReactor.__enter__   s7     &&&%55 ((( 65r   c                     t          j        | |||           | j                            dd           }||t          j        _        d S 	 t          j        `d S # t          $ r Y d S w xY wr   )r   __exit__r   getr   r   r   AttributeError)r   excTypeexcValue	tracebackr   s        r   r   zNoReactor.__exit__   s    gxCCC ,""#=tDD'.G$$$$,,,!   s   	A 
A%$A%N)__name__
__module____qualname____doc__r	   r   r    r   r   r   r      sN         
B B B) ) )
    r   c                       e Zd ZdZd Zd ZdS )r   zd
    A context manager which temporarily installs a different object as the
    global reactor.
    c                 H    t                               |            || _        dS )zN
        @param reactor: Any object to install as the global reactor.
        N)r   r	   	alternate)r   r   s     r   r	   zAlternateReactor.__init__3   s#     	4    r   c                     t                               |            | j        t          j        _        | j        t          j        d<   d S r   )r   r   r"   r   r   r   sysr   r
   s    r   r   zAlternateReactor.__enter__:   s8    D!!!#'> 26..///r   N)r   r   r   r   r	   r   r   r   r   r   r   -   sA         
! ! !A A A A Ar   )	r   __all__r$   twisted.internetr   twisted.test.test_twistedr   r   r   r   r   r   <module>r(      s    
 *
+ 



     4 4 4 4 4 4       8A A A A Ay A A A A Ar   