o
    4@Hh	  ã                   @   s*   d dl mZ d dlmZ G dd„ dƒZdS )é   )ÚLogEntryAdded)ÚSessionc                   @   sH   e Zd Zdd„ Zdd„ Zdd„ Zdd„ ZeZd	d
„ Zdd„ Z	dd„ Z
dS )ÚScriptc                 C   s   || _ d| _d S ©NF)ÚconnÚlog_entry_subscribed)Úselfr   © r	   úe/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/selenium/webdriver/common/bidi/script.pyÚ__init__   s   
zScript.__init__c                 C   ó   |   ¡  | j t|  d|¡¡S )NÚconsole©Ú_subscribe_to_log_entriesr   Úadd_callbackr   Ú_handle_log_entry©r   Úhandlerr	   r	   r
   Úadd_console_message_handler   ó   z"Script.add_console_message_handlerc                 C   r   )NÚ
javascriptr   r   r	   r	   r
   Úadd_javascript_error_handler   r   z#Script.add_javascript_error_handlerc                 C   s   | j  t|¡ |  ¡  d S ©N)r   Úremove_callbackr   Ú_unsubscribe_from_log_entries)r   Úidr	   r	   r
   Úremove_console_message_handler#   s   z%Script.remove_console_message_handlerc                 C   s2   | j st| jƒ}| j | tj¡¡ d| _ d S d S )NT)r   r   r   ÚexecuteÚ	subscriber   Úevent_class©r   Úsessionr	   r	   r
   r   )   s
   

ýz Script._subscribe_to_log_entriesc                 C   sD   | j rtj| jjvr t| jƒ}| j | tj¡¡ d| _ d S d S d S r   )r   r   r   r   Ú	callbacksr   r   Úunsubscriber    r	   r	   r
   r   /   s
   

ýz$Script._unsubscribe_from_log_entriesc                    s   ‡ ‡fdd„}|S )Nc                    s   | j ˆkrˆ | ƒ d S d S r   )Útype_)Ú	log_entry©r   Útyper	   r
   r   6   s   
ÿz3Script._handle_log_entry.<locals>._handle_log_entryr	   )r   r'   r   r   r	   r&   r
   r   5   s   zScript._handle_log_entryN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   Úremove_javascript_error_handlerr   r   r   r	   r	   r	   r
   r      s    r   N)Úlogr   r!   r   r   r	   r	   r	   r
   Ú<module>   s   