a
    $ñ»jÅ  ã                   @  sÒ   d dl mZ d dlZd dlmZ ddlmZmZ ddlm	Z	 ddlm
Z
 eG dd	„ d	ƒƒZeG d
d„ dƒƒZddœdd„Zddœdd„Zddœdd„Zdddœdd„Zddœdd„ZedƒeG dd„ dƒƒƒZdS )é    )ÚannotationsN)Ú	dataclassé   )Úevent_classÚT_JSON_DICT)Únetwork)Úruntimec                   @  s¨   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Zded< ddœdd„Zedd dœdd„ƒZdS )ÚLogEntryz
Log entry.ÚstrÚsourceÚlevelÚtextzruntime.TimestampÚ	timestampNztyping.Optional[str]ÚcategoryÚ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]]Úargsr   ©Úreturnc                 C  sÔ   t ƒ }| j|d< | j|d< | j|d< | j ¡ |d< | jd urF| j|d< | jd urZ| j|d< | jd urn| j|d< | j	d ur†| j	 ¡ |d< | j
d urž| j
 ¡ |d	< | jd ur²| j|d
< | jd urÐdd„ | jD ƒ|d< |S )Nr   r   r   r   r   r   Ú
lineNumberÚ
stackTraceÚnetworkRequestIdÚworkerIdc                 S  s   g | ]}|  ¡ ‘qS © ©Úto_json©Ú.0Úir   r   ú/E:\soccer\ml_env\Lib\site-packages\mycdp/log.pyÚ
<listcomp><   ó    z$LogEntry.to_json.<locals>.<listcomp>r   )Údictr   r   r   r   r   r   r   r   r   r   r   r   ©ÚselfÚjsonr   r   r"   r   )   s(    













zLogEntry.to_json©r(   r   c                 C  s  | t |d ƒt |d ƒt |d ƒtj |d ¡| dd ¡d urJt |d ƒnd | dd ¡d urht |d ƒnd | dd ¡d ur†t|d ƒnd | dd ¡d ur¨tj |d ¡nd | d	d ¡d urÊtj |d	 ¡nd | d
d ¡d urèt |d
 ƒnd | dd ¡d u�rdd„ |d D ƒnd d�S )Nr   r   r   r   r   r   r   r   r   r   r   c                 S  s   g | ]}t j |¡‘qS r   )r   ZRemoteObjectÚ	from_jsonr   r   r   r"   r#   c   r$   z&LogEntry.from_json.<locals>.<listcomp>)r   r   r   r   r   r   r   r   r   r   r   )	r
   r   Ú	Timestampr*   ÚgetÚintZ
StackTracer   Z	RequestId©Úclsr(   r   r   r"   r*   ?   s2    


ÿÿÿÿÿÿÜzLogEntry.from_json)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   r   r   r   r   Úclassmethodr*   r   r   r   r"   r	      s   
r	   c                   @  sD   e Zd ZU dZded< ded< ddœdd	„Zedd d
œdd„ƒZdS )ÚViolationSettingz Violation configuration setting.r
   ÚnameÚfloatÚ	thresholdr   r   c                 C  s   t ƒ }| j|d< | j|d< |S )Nr7   r9   )r%   r7   r9   r&   r   r   r"   r   r   s    

zViolationSetting.to_jsonr)   c                 C  s   | t |d ƒt|d ƒd�S )Nr7   r9   )r7   r9   )r
   r8   r.   r   r   r"   r*   x   s    

þzViolationSetting.from_jsonN)r0   r1   r2   r3   r4   r   r5   r*   r   r   r   r"   r6   j   s   
r6   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]r   c                  c  s   ddi} | V }dS )zClears the log.Úmethodz	Log.clearNr   ©Úcmd_dictr(   r   r   r"   Úclear€   s    ÿr=   c                  c  s   ddi} | V }dS )zb
    Disables log domain, prevents further log entries
    from being reported to the client.
    r:   zLog.disableNr   r;   r   r   r"   Údisableˆ   s    ÿr>   c                  c  s   ddi} | V }dS )z}
    Enables log domain, sends the entries collected so far
    to the client by means of the `entryAdded` notification.
    r:   z
Log.enableNr   r;   r   r   r"   Úenable“   s    ÿr?   ztyping.List[ViolationSetting])Úconfigr   c                 c  s,   t ƒ }dd„ | D ƒ|d< d|dœ}|V }dS )zU
    Start violation reporting.
    :param config: Configuration for violations.
    c                 S  s   g | ]}|  ¡ ‘qS r   r   r   r   r   r"   r#   ¦   r$   z+start_violations_report.<locals>.<listcomp>r@   zLog.startViolationsReport)r:   ÚparamsN)r%   )r@   rA   r<   r(   r   r   r"   Ústart_violations_reportž   s    þrB   c                  c  s   ddi} | V }dS )zStop violation reporting.r:   zLog.stopViolationsReportNr   r;   r   r   r"   Ústop_violations_report®   s    ÿrC   zLog.entryAddedc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	Ú
EntryAddedz#Issued when new message was logged.r	   Úentryr   r)   c                 C  s   | t  |d ¡d�S )NrE   )rE   )r	   r*   r.   r   r   r"   r*   ¿   s    zEntryAdded.from_jsonN)r0   r1   r2   r3   r4   r5   r*   r   r   r   r"   rD   ¸   s   
rD   )Ú
__future__r   ÚtypingÚdataclassesr   Úutilr   r   Ú r   r   r	   r6   r=   r>   r?   rB   rC   rD   r   r   r   r"   Ú<module>   s"   Y
