
    ?OOfU                        d dl mZ ddlmZmZ d dlmZ d dlZd dlZ G d de	      Z
e G d d	             Ze G d
 d             ZddZddZ	 	 	 	 	 	 ddZ	 	 	 	 ddZ ed      e G d d                    Zy)    )annotations   )event_classT_JSON_DICT)	dataclassNc                  <     e Zd ZdZddZedd       Z fdZ xZS )
DatabaseIdz/
    Unique identifier of Database object.
    c                    | S N )selfs    q/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v125/database.pyto_jsonzDatabaseId.to_json   s        c                     | |      S r   r   clsjsons     r   	from_jsonzDatabaseId.from_json   s    4yr   c                >    dj                  t        | 	               S )NzDatabaseId({}))formatsuper__repr__)r   	__class__s    r   r   zDatabaseId.__repr__   s    &&uw'7'9::r   )returnstr)r   r   r   r	   )	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__)r   s   @r   r	   r	      s+      ; ;r   r	   c                  P    e Zd ZU dZded<   ded<   ded<   ded<   d Zed	        Zy
)Databasez
    Database object.
    r	   id_r   domainnameversionc                    t               }| j                  j                         |d<   | j                  |d<   | j                  |d<   | j
                  |d<   |S )Nidr&   r'   r(   )dictr%   r   r&   r'   r(   r   r   s     r   r   zDatabase.to_json-   sK    vXX%%'T
XyyV,,Yr   c           	          | t         j                  |d         t        |d         t        |d         t        |d               S )Nr*   r&   r'   r(   )r%   r&   r'   r(   )r	   r   r   r   s     r   r   zDatabase.from_json5   sE    $$T$Z0tH~&T&\"Y(	
 	
r   Nr   r   r   r    __annotations__r   r!   r   r   r   r   r$   r$      s<     
O K I L 
 
r   r$   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	Errorz
    Database error.
    r   messageintcodec                V    t               }| j                  |d<   | j                  |d<   |S )Nr2   r4   )r+   r2   r4   r,   s     r   r   zError.to_jsonJ   s(    v,,YyyVr   c                F     | t        |d         t        |d               S )Nr2   r4   )r2   r4   )r   r3   r   s     r   r   zError.from_jsonP   s'    Y(T&\"
 	
r   Nr.   r   r   r   r1   r1   ?   s.     L I 
 
r   r1   c               #     K   ddi} | }yw)z]
    Disables database tracking, prevents database events from being sent to the client.
    methodzDatabase.disableNr   cmd_dictr   s     r   disabler;   X   s     
 	$H >D   
c               #     K   ddi} | }yw)zY
    Enables database tracking, database events will now be delivered to the client.
    r8   zDatabase.enableNr   r9   s     r   enabler>   b   s     
 	#H >Dr<   c              #  &  K   t               }| j                         |d<   ||d<   d|d}|}d|v r|d   D cg c]  }t        |       c}ndd|v r|d   D cg c]  }| c}ndd|v rt        j	                  |d         fS dfS c c}w c c}w w)	z
    :param database_id:
    :param query:
    :returns: A tuple with the following items:

        0. **columnNames** - 
        1. **values** - 
        2. **sqlError** - 
    
databaseIdqueryzDatabase.executeSQLr8   paramscolumnNamesNvaluessqlError)r+   r   r   r1   r   )database_idrA   rC   r:   r   is         r   execute_sqlrI   l   s      &F&..0F<F7O'H >D1>$1Fm,-AQ-D'/4'7DN#q#T-74-?Z()  FJ -#s   7BBB	B#.Bc              #     K   t               }| j                         |d<   d|d}|}|d   D cg c]  }t        |       c}S c c}w w)z,
    :param database_id:
    :returns: 
    r@   zDatabase.getDatabaseTableNamesrB   
tableNames)r+   r   r   )rG   rC   r:   r   rH   s        r   get_database_table_namesrL      sU      &F&..0F<2H >D ./qCF///s   .A
AA
zDatabase.addDatabasec                  *    e Zd ZU ded<   edd       Zy)AddDatabaser$   databasec                @     | t         j                  |d               S )NrO   )rO   )r$   r   r   s     r   r   zAddDatabase.from_json   s"    ''Z(89
 	
r   N)r   r   r   rN   )r   r   r   r/   r!   r   r   r   r   rN   rN      s     
 
r   rN   )r   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])rG   r	   rA   r   r   ztyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[typing.List[str]], typing.Optional[typing.List[typing.Any]], typing.Optional[Error]]])rG   r	   r   z<typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]])
__future__r   utilr   r   dataclassesr   enumtypingr   r	   r$   r1   r;   r>   rI   rL   rN   r   r   r   <module>rV      s    # * !  ; ; 
 
 
D 
 
 
0 
e800	C0" #$

 
  %
r   