File: //usr/lib/python3/dist-packages/twisted/logger/__pycache__/_flatten.cpython-38.pyc
U
�b� � @ s� d Z ddlmZ ddlmZ ddlmZmZmZ ddl m
Z
e� ZG dd� d�Ze
d d
�dd�Z
ee
ed
�dd�Ze
ed
�dd�Zd S )z�
Code related to "flattening" events; that is, extracting a description of all
relevant fields from the format string and persisting them for later
examination.
� )�defaultdict)� Formatter)�Any�Dict�Optional� )�LogEventc @ s: e Zd ZdZdd�dd�Zeee ee ed�dd�ZdS ) �KeyFlattenerz�
A L{KeyFlattener} computes keys for the things within curly braces in
PEP-3101-style format strings as parsed by L{string.Formatter.parse}.
N)�returnc C s t dd� �| _dS )z/
Initialize a L{KeyFlattener}.
c S s dS )Nr � r r r �9/usr/lib/python3/dist-packages/twisted/logger/_flatten.py�<lambda> � z'KeyFlattener.__init__.<locals>.<lambda>N)r �keys)�selfr r r �__init__ s zKeyFlattener.__init__)� fieldName�
formatSpec�
conversionr
c C sf |dkrd}|dkrd}dj |||d�}| j| d7 <