Your IP : 216.73.216.74


Current Path : /opt/alt/python37/lib/python3.7/site-packages/prometheus_client/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/prometheus_client/__pycache__/parser.cpython-37.pyc

B

�s�]X�@s�ddlmZddlZddlmZddlmZyddlZWnek
rTddl	ZYnXdd�Z
dd	d
d�Zdd
�Ze�
d�Ze�
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�)�unicode_literalsN�)�Metric)�Sampleccs"xtt�|��D]
}|VqWdS)z]Parse Prometheus text format from a unicode string.

    See text_fd_to_metric_families.
    N)�text_fd_to_metric_families�StringIO)�textZ
metric_family�r	�I/opt/alt/python37/lib/python3.7/site-packages/prometheus_client/parser.py�text_string_to_metric_familiessr�\�
�")z\\z\nz\"cCst|�d�S)Nr)�ESCAPE_SEQUENCES�group)�matchr	r	r
�replace_escape_sequencesrz\\[\\n]z\\[\\n"]cCst�t|�S)N)�HELP_ESCAPING_RE�subr)�sr	r	r
�_replace_help_escaping'srcCst�t|�S)N)�ESCAPING_RErr)rr	r	r
�_replace_escaping+srcCs:d}x(||kr,||d|dkr,|d7}qW|ddkS)Nrrr�r	)rZcharposZnum_bslashesr	r	r
�_is_character_escaped/s

rcCs0i}d|kr|Sd}d|kr d}|}y�x�|�r|�d�}|d|�}||dd���}|�d�d}||d�}d}x0|t|�kr�|�d|�}t||�s�P|d7}qxW|d}	|||	�}
|r�t|
�}
|
||��<||	dd�}|�d�d}||d���}q(W|Stk
�r*td	|��YnXdS)
N�=FrTrrr�,zInvalid labels: %s)�index�lstrip�lenrr�strip�find�
ValueError)Z
labels_string�labelsZescapingZ
sub_labelsZvalue_startZ
label_nameZquote_startZvalue_substr�iZ	quote_endZlabel_valueZ
next_commar	r	r
�
_parse_labels7s>

r%cCsp|��}d}||krd}dd�|�|�D�}|s<t|�dfSt|d�}t|�dkrdt|d�dnd}||fS)	N� �	cSsg|]}|��r|���qSr	)r )�.0�valuer	r	r
�
<listcomp>osz._parse_value_and_timestamp.<locals>.<listcomp>rr���i�)r�split�floatr)r�	separator�valuesr)�	timestampr	r	r
�_parse_value_and_timestampjs r1c	Cs�y`|�d�|�d�}}|d|���}||d|�}t||dd��\}}t|t|�||�Stk
r�d}||kr�d}|�|�}|d|�}t||d��\}}t|i||�SXdS)N�{�}rrr&r')r�rindexr r1rr%r")	rZlabel_startZ	label_end�name�labelr)r0r.Zname_endr	r	r
�
_parse_samplews
r7c	#s�d�d}d}g}g}dd�}�x�|D�]�}|��}|�d��rL|�dd�}t|�dkrXq$|d	d
kr�|d�kr��dkr�|�|||�V|d�d}g}|dg}t|�dkr�t|d�}nd}n�|d	dk�r�|d�k�r�dkr�|�|||�V|d�d}g}|d}dgdgd
ddgd
ddgd��|dg�}�fdd�|D�}nq$|dk�rXq$t|�}|j|k�r��dk�r�|�|||�Vd�d}d}g}g}||d|||g�Vq$|�|�q$W�dk�r�|�|||�VdS)z�Parse Prometheus text format from a file descriptor.

    This is a laxer parser than the main Go parser,
    so successful parsing does not imply that the parsed
    text meets the specification.

    Yields Metric's.
    �ZuntypedcSsp|dkrZ|�d�r |dd�}n:g}x4|D],}|�t|ddf|dd����|}q*Wt|||�}||_|S)N�counterZ_totali����rr)�endswith�appendrr�samples)r5�
documentation�typr<Znew_samplesrZmetricr	r	r
�build_metric�s

$z0text_fd_to_metric_families.<locals>.build_metric�#N�rrZHELP�ZTYPE�_countZ_sumZ_bucket)r9Zgauge�summaryZ	histogramcsg|]}�|�qSr	r	)r(�n)r5r	r
r*�sz.text_fd_to_metric_families.<locals>.<listcomp>r)	r �
startswithr,rr�getr7r5r;)	�fdr=r>r<Z
allowed_namesr?�line�parts�sampler	)r5r
r�sj	




r)�
__future__r�reZmetrics_corerr<rr�ImportError�iorrr�compilerrrrrr%r1r7rr	r	r	r
�<module>s*


3