HEX
Server: LiteSpeed
System: Linux srv146.niagahoster.com 4.18.0-553.30.1.lve.el8.x86_64 #1 SMP Tue Dec 3 01:21:19 UTC 2024 x86_64
User: kodi1989 (1633)
PHP: 8.1.34
Disabled: symlink,shell_exec,exec,popen,system,dl,passthru,escapeshellarg,escapeshellcmd,show_source,pcntl_exec
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/prometheus_client/__pycache__/parser.cpython-37.pyc
B

��f
�@s"ddlZddlZddlmZmZmZmZmZm	Z	m
Z
ddlmZddl
mZeeed�dd�Zd	d
dd�Zeeed
�dd�Ze�d�Ze�d�Zeed�dd�Zeed�dd�Zeeed�dd�Zeeeefd�dd�Zee
eeefd�dd�Zeed�dd �Ze	eed!�d"d#�ZdS)$�N)�Dict�Iterable�List�Match�Optional�TextIO�Tuple�)�Metric)�Sample)�text�returnccstt�|��EdHdS)z]Parse Prometheus text format from a unicode string.

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

r")�
labels_stringr
c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�=FrTr	rr�,zInvalid labels: %s)�index�lstrip�lenr"r�strip�find�
ValueError)r#�labelsZescapingZ
sub_labelsZvalue_startZ
label_nameZquote_startZvalue_substr�iZ	quote_endZlabel_valueZ
next_commarrr�
_parse_labels0s>

r.cCsp|��}d}||krd}dd�|�|�D�}|s<t|�dfSt|d�}t|�dkrdt|d�dnd}||fS)	N� �	cSsg|]}|��r|���qSr)r))�.0�valuerrr�
<listcomp>hsz._parse_value_and_timestamp.<locals>.<listcomp>rr	���i�)r'�split�floatr()r�	separator�valuesr2�	timestamprrr�_parse_value_and_timestampcs r:c	Cs�y`|�d�|�d�}}|d|���}||d|�}t||dd��\}}t|t|�||�Stk
r�d}||kr�d}|�|�}|d|�}t||d��\}}t|i||�SXdS)N�{�}r	r/r0)r&�rindexr)r:rr.r+)	rZlabel_startZ	label_end�name�labelr2r9r7Zname_endrrr�
_parse_sampleps
r@)�fdr
c	#s�d�d}d}g}g}ttttttd�dd�}�x�|D�]�}|��}|�d��r`|�dd�}t|�d	krjq6|d
dkr�|d	�kr��dkr�|�|||�V|d	�d}g}|d	g}t|�dkr�t|d�}nd}n�|d
d
k�r�|d	�k�r�dk�r
|�|||�V|d	�d}g}|d}dgdgdddgdddgd��	|dg�}�fdd�|D�}nq6|dk�rlq6t
|�}|j|k�rƈdk�r�|�|||�Vd�d}d}g}g}||d|||g�Vq6|�|�q6W�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.
    �Zuntyped)r>�
documentation�typ�samplesr
cSsp|dkrZ|�d�r |dd�}n:g}x4|D],}|�t|ddf|dd����|}q*Wt|||�}||_|S)N�counterZ_totali����rr	)�endswith�appendrr
rE)r>rCrDrEZnew_samplesrZmetricrrr�build_metric�s

$z0text_fd_to_metric_families.<locals>.build_metric�#N�r!r	ZHELP�ZTYPE�_countZ_sumZ_bucket)rFZgauge�summaryZ	histogramcsg|]}�|�qSrr)r1�n)r>rrr3�sz.text_fd_to_metric_families.<locals>.<listcomp>r)
�strrrr
r)�
startswithr5r(r�getr@r>rH)	rArCrDrEZ
allowed_namesrI�line�parts�sampler)r>rr�sj	





r) �ior�re�typingrrrrrrrZmetrics_corer
rErrPrrr�compilerrrr�int�boolr"r.r6r:r@rrrrr�<module>s$$	

3