
    aDg=                        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ddl	m
Z
 ddl	mZ e G d d	             Ze G d
 d             Z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)	dataclassN   )network)runtimec                      e Zd ZU dZded<   ded<   ded<   ded<   dZd	ed
<   dZded<   dZded<   dZded<   dZ	d	ed<   dZ
ded<   ddZedd       Zy)LogEntryz
    Log entry.
    strsourceleveltextzruntime.Timestamp	timestampNztyping.Optional[str]urlztyping.Optional[int]line_numberz#typing.Optional[runtime.StackTrace]stack_tracez"typing.Optional[network.RequestId]network_request_id	worker_idz2typing.Optional[typing.List[runtime.RemoteObject]]argsc                l   t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  j                         |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  |d	<   | j                  +| j                  D cg c]  }|j                          c}|d
<   |S c c}w )Nr   r   r   r   r   
lineNumber
stackTracenetworkRequestIdworkerIdr   )dictr   r   r   r   to_jsonr   r   r   r   r   r   )selfjsonis      G/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/cdp/log.pyr   zLogEntry.to_json5   s    FX

WyyV NN224[88((DK'!%!1!1D'!%!1!1!9!9!;D"".'+'>'>'F'F'HD#$>>%#~~D99 15;AAIIK;DL <s   D1c                .    | t        |d         t        |d         t        |d         t        j                  j                  |d         d|v rt        |d         nd d|v rt	        |d         nd d|v r"t        j
                  j                  |d         nd d|v r"t        j                  j                  |d         nd d	|v rt        |d	         nd d
|v r5|d
   D cg c]!  }t        j                  j                  |      # c}
      S d 
      S c c}w )Nr   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )	r   r	   	Timestamp	from_jsonint
StackTracer   	RequestIdRemoteObject)clsr   r    s      r!   r$   zLogEntry.from_jsonI   s   tH~&d7m$T&\"''11${2CD$)TMDK t3?43GD./TLX\`L`**44T,5GHfjXjnrXrw00::4@R;STx|/9T/Ac$z*+tNTX\nT&\J'&&003J
 	
 cg
 	
 Ks   &Dreturnr   )r   r   r+   r   )__name__
__module____qualname____doc____annotations__r   r   r   r   r   r   r   classmethodr$        r!   r   r      s     K J I !  !%C	$ )-K%, 8<K4; >B:A '+I#* @DD
<C( 
 
r3   r   c                  @    e Zd ZU dZded<   ded<   d	dZed
d       Zy)ViolationSettingz*
    Violation configuration setting.
    r   namefloat	thresholdc                V    t               }| j                  |d<   | j                  |d<   |S )Nr6   r8   )r   r6   r8   )r   r   s     r!   r   zViolationSetting.to_jsond   s)     FyyV NN[r3   c                F     | t        |d         t        |d               S )Nr6   r8   )r6   r8   )r   r7   r)   r   s     r!   r$   zViolationSetting.from_jsonj   s(    T&\"D-.
 	
r3   Nr*   )r   r   r+   r5   )r,   r-   r.   r/   r0   r   r1   r$   r2   r3   r!   r5   r5   Y   s/     I  
 
r3   r5   c               #     K   ddi} | }yw)z
    Clears the log.
    methodz	Log.clearNr2   cmd_dictr   s     r!   clearr@   r   s     
 	+H >D   
c               #     K   ddi} | }yw)z^
    Disables log domain, prevents further log entries from being reported to the client.
    r=   zLog.disableNr2   r>   s     r!   disablerC   |   s     
 	-H >DrA   c               #     K   ddi} | }yw)z
    Enables log domain, sends the entries collected so far to the client by means of the
    ``entryAdded`` notification.
    r=   z
Log.enableNr2   r>   s     r!   enablerE      s      	,H >DrA   c              #  ~   K   t               }| D cg c]  }|j                          c}|d<   d|d}|}yc c}w w)zV
    start violation reporting.

    :param config: Configuration for violations.
    configzLog.startViolationsReport)r=   paramsN)r   r   )rG   rH   r    r?   r   s        r!   start_violations_reportrI      sE      &F-34		4F8-H >D 5s   =8=c               #     K   ddi} | }yw)z#
    Stop violation reporting.
    r=   zLog.stopViolationsReportNr2   r>   s     r!   stop_violations_reportrK      s     
 	,H >DrA   zLog.entryAddedc                  .    e Zd ZU dZded<   edd       Zy)
EntryAddedz-
    Issued when new message was logged.
    r   entryc                @     | t         j                  |d               S )NrN   )rN   )r   r$   r;   s     r!   r$   zEntryAdded.from_json   s!    $$T']3
 	
r3   N)r   r   r+   rM   )r,   r-   r.   r/   r0   r1   r$   r2   r3   r!   rM   rM      s      O
 
r3   rM   )r+   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])rG   ztyping.List[ViolationSetting]r+   rP   )
__future__r   cdp.utilr   r   dataclassesr   enumtyping r   r	   r   r5   r@   rC   rE   rI   rK   rM   r2   r3   r!   <module>rW      s    # - !     C
 C
 C
L 
 
 
0-	7" 

 
  
r3   