
    g                     l    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dS )    Nc                   T     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 )ReactordriverChromec                    t                                                       || _        t          j                    | _        t          j                    | _        t          j	                    | _
        d| _        i | _        d S )NT)super__init__r   asyncionew_event_looploop	threadingLocklockEventeventdaemonhandlers)selfr   	__class__s     k/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/undetected_chromedriver/reactor.pyr	   zReactor.__init__   s`    *,,	N$$	_&&
    callbackc                 ~    | j         5  || j        |                                <   ddd           dS # 1 swxY w Y   dS )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   s     Y 	: 	:19DM+++--.	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   266c                 6    | j                                          S )N)r   is_setr   s    r   runningzReactor.running+   s    :$$&&&&r   c                     	 t          j        | j                   | j                            |                                            d S # t
          $ r&}t                              d|           Y d }~d S 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/   s    	5"49---I((77777 	5 	5 	5NN0!444444444	5s   AA	 	
A9A44A9c                 \  K   	 | j         5  t          | j        dd           ret          | j        j        dd           rJ| j        j        j                                        r't          j        | j        j        pd           d {V  n	 d d d            d S 	 d d d            n# 1 swxY w Y   )NTserviceprocessg      ?)	r   getattrr   r+   r,   pollr
   sleep_delayr   s    r   _wait_service_startedzReactor._wait_service_started6   s     		  DKD99 3YEE +388::
 "-(:(BdCCCCCCCCCC        D              		s   A=B""B&)B&c                   K   | j         r|                                  d {V  t          j        d           d {V  	 | j        5  | j                            d          }d d d            n# 1 swxY w Y   |D ]}	 |                    d          }t          j	        |          }|                    d          }|                    d          }d| j
        v r.| j                            d | j
        d         |           d {V  nZ|                                | j
        v r?| j                            d | j
        |                                         |           d {V  # t          $ r}|d d }~ww xY wn># t          $ r1}dt          |          v rnt!          j        d|           Y d }~nd }~ww xY w| j         d S d S )N   performancemessagemethod*zinvalid session idzexception ignored :)r    r1   r
   r/   r   r   get_loggetjsonloadsr   r   run_in_executorr   r%   strloggingdebug)r   log_entriesentryobj_serializedobjr5   r6   r(   s           r   r$   zReactor.listenB   s     l  	<,,.........-"""""""""<Y E E"&+"5"5m"D"DKE E E E E E E E E E E E E E E ) * *E*.3ii	.B.B"j88"%'')"4"4!(X!6!6$-//"&)";"; $dmC&8'# #         $\\^^t}<<"&)";"; $dmFLLNN&CW# #       
 % * * *T)*#*(  < < <'3q6611M"7;;;	<9 l  	<  	<  	<  	<  	<sa    E9 A."E9 .A22E9 5A26E9 >C$E#"E9 #
E5-E00E55E9 9
F4'F//F4)r   r   )__name__
__module____qualname__r	   callabler   propertyr    r)   r1   r$   __classcell__)r   s   @r   r   r      s        	 	 	 	 	 	:x : : : :$ ' ' X'5 5 5
 
 
!< !< !< !< !< !< !<r   r   )	r
   r:   r>   r   	getLoggerrD   r&   Threadr    r   r   <module>rM      s           
	8	$	$V< V< V< V< V<i V< V< V< V< V<r   