
    @OOf)                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  G d d      Z G d	 d
ej                        Zy)    N)Callable)command)log)LogEntry)signalsc                       e Zd ZddeddfdZd ZdeddfdZededz  fd       Z	 e
j                  d	      dd
       Zy)
EventStoresizereturnNc                    t        j                  |      | _        t        j                  d       | _        t        j                  d       | _        t        | j                        | _	        | j                  j                          y )N)maxlenc                      y N )entrys    \/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/addons/eventstore.py<lambda>z%EventStore.__init__.<locals>.<lambda>           c                       y r   r   r   r   r   r   z%EventStore.__init__.<locals>.<lambda>   r   r   )collectionsdequedatar   
SyncSignalsig_addsig_refreshCallbackLogger_add_logloggerinstall)selfr
   s     r   __init__zEventStore.__init__   sZ    1<1B1B$1O	))*<="--l;$T]]3r   c                 8    | j                   j                          y r   )r   	uninstallr!   s    r   donezEventStore.done   s    r   r   c                 p    | j                   j                  |       | j                  j                  |       y r   )r   appendr   send)r!   r   s     r   r   zEventStore._add_log   s&    		% r   c                 .    | j                   j                  S r   )r   r   r%   s    r   r
   zEventStore.size   s    yyr   zeventstore.clearc                 l    | j                   j                          | j                  j                          y)z&
        Clear the event log.
        N)r   clearr   r)   r%   s    r   r,   zEventStore.clear    s$    
 			r   )i'  )r   N)__name__
__module____qualname__intr"   r&   r   r   propertyr
   r   r,   r   r   r   r	   r	      sl    S T  !h !4 !  cDj     W__'(  ) r   r	   c                   T     e Zd Zdeegdf   f fdZdej                  ddfdZ xZ	S )r   callbackNc                     t         |           || _        t        j                         | _        t        j                  d      | _        y )NF)colorize)	superr"   r3   asyncioget_running_loop
event_loopr   MitmFormatter	formatter)r!   r3   	__class__s     r   r"   zCallbackLogger.__init__*   s9     	 !224**E:r   recordr   c                     t        | j                  |      t        j                  j	                  |j
                  d            }| j                  j                  | j                  |       y )Nerror)msglevel)	r   formatr   LOGGING_LEVELS_TO_LOGENTRYgetlevelnor9   call_soon_threadsafer3   )r!   r=   r   s      r   emitzCallbackLogger.emit3   sL    F#0044V^^WM
 	,,T]]EBr   )
r-   r.   r/   r   r   r"   logging	LogRecordrG   __classcell__)r<   s   @r   r   r   )   s8    ;H:t+,;C7,, C Cr   r   )r7   r   rH   collections.abcr   	mitmproxyr   r   mitmproxy.logr   mitmproxy.utilsr   r	   MitmLogHandlerr   r   r   r   <module>rP      s;       $   " #   :CS'' Cr   