HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/twisted/logger/__pycache__/_legacy.cpython-38.pyc
U


W[u�@shdZddlmZddlmZddlmZddlmZddl	m
Z
mZee�Gdd	�d	e��Z
d
d�ZdS)
z)
Integration with L{twisted.python.log}.
�)�implementer�)�LogLevel)�formatEvent)�ILogObserver)�fromStdlibLogLevelMapping�StringifiableFromEventc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�LegacyLogObserverWrapperz�
    L{ILogObserver} that wraps an L{twisted.python.log.ILogObserver}.

    Received (new-style) events are modified prior to forwarding to
    the legacy observer to ensure compatibility with observers that
    expect legacy events.
    cCs
||_dS)z�
        @param legacyObserver: a legacy observer to which this observer will
            forward events.
        @type legacyObserver: L{twisted.python.log.ILogObserver}
        N)�legacyObserver)�selfr
�r�8/usr/lib/python3/dist-packages/twisted/logger/_legacy.py�__init__sz!LegacyLogObserverWrapper.__init__cCsdj|d�S)Nz0{self.__class__.__name__}({self.legacyObserver})�r)�formatrrrr
�__repr__%s��z!LegacyLogObserverWrapper.__repr__cCsd|krd|d<d|kr$|d|d<d|kr<|�dd�|d<d|kr�|�d	d
�d
k	r�d|d<t|���|d<t|dt�s�d|d<d
|kr�d|kr�|d
|d<d|kr�d|d<d|kr�t|�|d<n.d|kr�|dtjtjfkr�d|d<nd|d<|�	|�d
S)z�
        Forward events to the legacy observer after editing them to
        ensure compatibility.

        @param event: an event
        @type event: L{dict}
        �messager�time�log_time�system�
log_system�-r�
log_formatNz%(log_legacy)s�
log_legacyZlog_failureZfailure�isErrorrZwhy�	log_levelr)
�getr�copy�
isinstance�tuplerr�error�criticalr
)rZeventrrr
�__call__,s.

z!LegacyLogObserverWrapper.__call__N)�__name__�
__module__�__qualname__�__doc__rrr"rrrr
r	s	r	cCs�d|kr|d|d<d|kr<||�}|dk	r<||d<d|d<d|kr�d|krxzt|d}Wq�tk
rtd}Yq�Xn&d	|kr�|d	r�tj}q�tj}ntj}|dk	r�||d<d
|kr�d|d
<d|kr�d
|kr�|d
|d<||�dS)a�
    Publish an old-style (L{twisted.python.log}) event to a new-style
    (L{twisted.logger}) observer.

    @note: It's possible that a new-style event was sent to a
        L{LegacyLogObserverWrapper}, and may now be getting sent back to a
        new-style observer.  In this case, it's already a new-style event,
        adapted to also look like an old-style event, and we don't need to
        tweak it again to be a new-style event, hence the checks for
        already-defined new-style keys.

    @param observer: A new-style observer to handle this event.
    @type observer: L{ILogObserver}

    @param eventDict: An L{old-style <twisted.python.log>}, log event.
    @type eventDict: L{dict}

    @param textFromEventDict: callable that can format an old-style event as a
        string.  Passed here rather than imported to avoid circular dependency.
    @type textFromEventDict: 1-arg L{callable} taking L{dict} returning L{str}

    @return: L{None}
    rrrNZlog_textz
{log_text}rZlogLevelrZ
log_namespacerrr)r�KeyErrorrr!�info)ZobserverZ	eventDictZtextFromEventDict�text�levelrrr
�publishToNewObserveras2r+N)r&Zzope.interfacerZ_levelsrZ_formatrZ	_observerrZ_stdlibrr�objectr	r+rrrr
�<module>sN