
    ,h                     r    d dl Z d dlZd dlZd dlZ ej                  e      Z G d dej                        Zy)    Nc                   N     e Zd Zd fdZdefdZed        Zd Zd Z	d Z
 xZS )	Reactorc                     t         |           || _        t        j                         | _        t        j                         | _        t        j                         | _
        d| _        i | _        y )NT)super__init__driverasyncionew_event_looploop	threadingLocklockEventeventdaemonhandlers)selfr   	__class__s     a/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/undetected_chromedriver/reactor.pyr   zReactor.__init__   sO    **,	NN$	__&
    callbackc                     | j                   5  || j                  |j                         <   ddd       y# 1 sw Y   yxY w)a  

        Parameters
        ----------
        event_name: str
            example "Network.responseReceived"

        callback: callable
            callable which accepts 1 parameter: the message object dictionary

        Returns
        -------

        N)r   r   lower)r   method_namer   s      r   add_event_handlerzReactor.add_event_handler   s7     YY 	:19DMM+++-.	: 	: 	:s   4=c                 8    | j                   j                          S )N)r   is_setr   s    r   runningzReactor.running+   s    ::$$&&&r   c                     	 t        j                  | j                         | j                  j                  | j	                                y # t
        $ r }t        j                  d|       Y d }~y d }~ww xY w)NzReactor.run() => %s)r	   set_event_loopr   run_until_completelisten	Exceptionloggerwarning)r   es     r   runzReactor.run/   sS    	5""499-II((7 	5NN0!44	5s   AA 	A4A//A4c                   K   	 | j                   5  t        | j                  dd       rt        | j                  j                  dd       rd| j                  j                  j                  j                         r6t        j                  | j                  j                  xs d       d {    n
	 d d d        y 	 d d d        7 # 1 sw Y   xY ww)Nserviceprocessg      ?)	r   getattrr   r*   r+   pollr	   sleep_delayr   s    r   _wait_service_startedzReactor._wait_service_started6   s      DKKD9 3 3YE++3388:!--(:(:(BdCCC  D  D s5   CBC'C(C.	C8	CCCCc                   K   | j                   rc| j                          d {    t        j                  d       d {    	 | j                  5  | j
                  j                  d      }d d d        D ]  }	 |j                  d      }t        j                  |      }|j                  d      }|j                  d      }d| j                  v r3| j                  j                  d | j                  d   |       d {    n\|j                         | j                  v r@| j                  j                  d | j                  |j                            |       d {     	 | j                   rby y 7 Q7 7# 1 sw Y   xY w7 7 ,# t        $ r}|d d }~ww xY w# t        $ r.}dt        |      v rnt!        j"                  d|       Y d }~md }~ww xY ww)N   performancemessagemethod*zinvalid session idzexception ignored :)r   r0   r	   r.   r   r   get_loggetjsonloadsr   r   run_in_executorr   r$   strloggingdebug)r   log_entriesentryobj_serializedobjr4   r5   r'   s           r   r#   zReactor.listenB   s    ll,,...--"""<YY E"&++"5"5m"DKE ) *E*.3ii	.B"jj8"%'')"4!(X!6$--/"&))";"; $dmmC&8'#   $\\^t}}<"&))";"; $dmmFLLN&CW#  * ll."E E
 % *T)*  <'3q61MM"7;	<s   !GE4G E7GF E:.F <BF?F AFF	F!F #G2G7G:F?F F	F	FFFF 	G($GGGG)r   Chrome)__name__
__module____qualname__r   callabler   propertyr   r(   r0   r#   __classcell__)r   s   @r   r   r      s7    	:x :$ ' '5
!<r   r   )	r	   r9   r=   r   	getLoggerrD   r%   Threadr    r   r   <module>rM      s;        
		8	$V<i V<r   