
    Ph                         d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZ 	 d dlZd Z G d de      Z G d de	      Zd	 Zd
 Zy# e$ r dZY )w xY w)    N)	greenlets)BaseHubREADWRITEc                      t         d uS N)event     `C:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\eventlet/hubs/pyevent.pyis_availabler      s    r   c                   6    e Zd ZddZd Zd Zd Zed        Zy)event_wrapperNc                      || _         || _        y r   )implseconds)selfr   r   s      r   __init__zevent_wrapper.__init__   s    	r   c                 n    | j                   t        | j                         S t        j                  |       S r   )r   reprobject__repr__r   s    r   r   zevent_wrapper.__repr__   s)    99 		?"??4((r   c                 n    | j                   t        | j                         S t        j                  |       S r   )r   strr   __str__r   s    r   r   zevent_wrapper.__str__    s)    99 tyy>!>>$''r   c                 `    | j                   "| j                   j                          d | _         y y r   )r   deleter   s    r   cancelzevent_wrapper.cancel&   s(    99 IIDI !r   c                 d    t        | j                  xr | j                  j                               S r   )boolr   pendingr   s    r   r"   zevent_wrapper.pending+   s#    DII5$))"3"3"566r   )NN)	__name__
__module____qualname__r   r   r   r   propertyr"   r
   r   r   r   r      s*    )(
 7 7r   r   c                        e Zd ZeefZ fdZd Zd ZddZ	d Z
d Z ee
e      Z fdZd Z fd	Zd
 Zd ZeZd Zd Z xZS )Hubc                      t         t                   t        j                          d  _         j                  d fd       g  _        t        j                  dt               y )N   c                 V    j                   j                  j                  t              S r   )greenletparentthrowKeyboardInterrupt)	signalnumframer   s     r   <lambda>zHub.__init__.<locals>.<lambda>;   s    T]]%9%9%?%?@Q%Rr   zKACTION REQUIRED eventlet pyevent hub is deprecated and will be removed soon)superr(   r   r	   initsignal_exc_infosignalevents_to_addwarningswarnDeprecationWarning)r   	__class__s   `r   r   zHub.__init__4   sP    c4!#

#R	T  Y	
r   c                    t         j                  }	 | j                  D ]K  }||j                  |j                   |j                  j                  |j                         d |_        M g | _         |       }t        t         dd       St        t         d      }t        t         dd        t        t         d      J t        j                  |d   |d   |d          |dk7  r|S )N__event_excr      r*   )
r	   loopr7   r   r   addgetattrsetattrsixreraise)r   r?   eresultts        r   dispatchzHub.dispatchC   s    zz''=QVV%7AII<QFFJJqyy) $AI ( "$DVFumT2>E=1}d3um4<<<AaD!A$!-{! r   c                 t   	 	 | j                          # t        j                  $ r Y y | j                  $ r   | j                  L | j
                  dt        j                         j                  j                  g| j                    d | _        n$| j                  d t        j                                Y xY w)Nr   )rH   r,   GreenletExitSYSTEM_EXCEPTIONSr5   schedule_call_global
getcurrentr-   r.   squelch_timer_exceptionsysexc_infor   s    r   runzHub.runW   s    G  (( )) G''3-D--8..077==V@D@T@TV+/D(00s||~Fs    B7BB7c                     | j                  d| j                  j                  t        j                         |r8| j                  t        j                         usJ d       | j                          y y )Nr   z5Can't abort with wait from inside the hub's greenlet.)rL   r,   r.   rJ   rM   switch)r   waits     r   abortz	Hub.abortg   sb    !!!T]]%8%8(:O:OP==(;(; )  GFG KKM r   c                 ,    t        | j                        S r   )r!   r,   r   s    r   _getrunningzHub._getrunningn   s    DMM""r   c                      y r   r
   )r   values     r   _setrunningzHub._setrunningq   s    r   c                     t        t        j                        rfd}n}|t        u rt	        j
                  |||      }n|t        u rt	        j                  |||      }t        t        | +  ||||      S )Nc                      |        y r   r
   )_dreal_cbs    r   cbzHub.add.<locals>.cby   s
    r   )
isinstancetypesBuiltinMethodTyper   r	   readr   writer3   r(   r@   )	r   evtypefilenor^   real_tbmacr_   evtr;   s	      `    r   r@   zHub.addu   sm     gu667 BT>**VR0Cu_++fb&1CS$#FFC#FFr   c                 T      fd}t        t        j                  |            S )Nc                      	   d        y #  t        j                         _        t        j                          Y y xY wr   )rO   rP   r5   r	   rU   )handlerr   r0   s   r   wrapperzHub.signal.<locals>.wrapper   s0    	4('*||~$s   	 />)r   r	   r6   )r   r0   rl   rm   s   ``` r   r6   z
Hub.signal   s     	 U\\)W=>>r   c                 `    t         t        |   |       |j                  j	                          y r   )r3   r(   remover_   r   )r   listenerr;   s     r   ro   z
Hub.remove   s"    c4)r   c                     t        j                  | j                        D ]2  }|j                  |d       }|s	 |j                  j                          4 y # | j                  $ r   t        j                          Y ]xY wr   )	rC   
itervalues	listenerspopr_   r   rK   	traceback	print_exc)r   rf   
lcontainerrp   s       r   remove_descriptorzHub.remove_descriptor   sg    ..8J!~~fd3H*KK&&(	 9
 -- *'')s   A%A=c                    t        j                         }|| j                   u r | j                  ||g|i |S t        j                  t        ||||f      }t        ||      }| j                  j                  |       |S N)r   )r,   rM   rL   r	   _scheduled_call_localr   r7   append)r   r   r_   argskwargscurrent
event_implrm   s           r   schedule_call_localzHub.schedule_call_local   sz    %%'dmm#,4,,WbJ4J6JJ[[!6T678ST

G<!!'*r   c                     t        j                   t        |||f      }t        ||      }| j                  j	                  |       |S rz   )r	   _scheduled_callr   r7   r|   )r   r   r_   r}   r~   r   rm   s          r   rL   zHub.schedule_call_global   s>    [[2tV2DE

G<!!'*r   c                 &    t         j                  }|S r   )r	   __version__)r   baseversions     r   _version_infozHub._version_info   s    ''r   )T)r#   r$   r%   r/   
SystemExitrK   r   rH   rQ   rU   rW   rZ   r&   runningr@   r6   ro   rx   r   schedule_callrL   r   __classcell__)r;   s   @r   r(   r(   0   sd    *J7
(G #{K0GG ?	* (Mr   r(   c                 l    |\  }}}	  ||i | | j                          y # | j                          w xY wr   )r   )r   handlere   argr_   r}   r~   s          r   r   r      s9    Bf
DF
s   ! 3c                     |\  }}}}	 |j                   s ||i | | j                          y # | j                          w xY wr   )deadr   )r   r   re   r   r_   r}   r~   caller_greenlets           r   r{   r{      sD    (+%Bfo##
s	   . A )rO   ru   ra   r8   eventlet.supportr   r,   rC   eventlet.hubs.hubr   r   r   r	   ImportErrorr   r   r   r(   r   r{   r
   r   r   <module>r      sf    
    2 
 2 2
7F 78@' @F_  Es   A
 
AA