File: //lib/python3/dist-packages/twisted/logger/__pycache__/_json.cpython-38.pyc
U
�b� � @ s� d Z ddlmZmZ ddlmZmZmZmZm Z m
Z
mZmZ ddl
mZ ddlmZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ e� Zeeef Zeed
�dd�Z eed�dd�Z!dd� ed�dd� dd� fdd� ed�e e!fgZ"dd� e"D �Z#ee$d�dd�Z%e$ed�d d!�Z&eed"�d#d$�Z'eed%�d&d'�Z(d1ee eed)�d*d+�Z)d2ee e
e e*e e d.�d/d0�Z+d,S )3zA
Tools for saving and loading log events in a structured format.
� )�dumps�loads)�IO�Any�AnyStr�Dict�Iterable�Optional�Union�cast)�UUID)�
NamedConstant)�Failure� ��FileLogObserver)�flattenEvent)�LogEvent)�LogLevel)�Logger)�failure�returnc C s t | �� t | jj| jjd�d�S )z�
Convert a failure to a JSON-serializable data structure.
@param failure: A failure to serialize.
@return: a mapping of strings to ... stuff, mostly reminiscent of
L{Failure.__getstate__}
)�
__module__�__name__)�type)�dict�__getstate__r r r )r � r �6/usr/lib/python3/dist-packages/twisted/logger/_json.py�
failureAsJSON s ��r )�failureDictr c C s0 t �t �}| d }t|d d|�| d<