HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/pyroute2/cli/__pycache__/session.cpython-37.pyc
B

tP�e�#�@sxddlmZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZddl
mZddlmZGdd	�d	e�ZdS)
�)�print_functionN)�
namedtuple)�config)�t_comma�t_dict�t_pipe�t_stmt)�Parser)�
basestringc@s\eZdZddd�Zedd��Zejdd��Zdd�Zddd�Zd
d�Z	dd�Z
ddd�ZdS)�SessionNcCsN||_|j|_d|_||_g|_d|_t�|_d|_|p<t	j
|_
|pFd|_dS)Nr�)�ls�.z..�version�exitz:stack)�db�ptr�_ptrname�_ptrname_callback�stack�errors�set�indent_stack�prompt�sys�stdout�builtins)�selfZndbrZptrname_callbackr�r�E/opt/alt/python37/lib/python3.7/site-packages/pyroute2/cli/session.py�__init__szSession.__init__cCs|jS)N)r)rrrr�ptrname!szSession.ptrnamecCs||_|jdk	r|�|�dS)N)rr)r�namerrrr!%s
cCs|j��\|_|_|j|jfS)N)r�poprr!)rrrr�	stack_pop+szSession.stack_popr�
cCs<t|t�st|�}|j�|�|r.|j�|�|j��dS)N)�
isinstancer
�strr�write�flush)r�text�endrrr�lprint/s
zSession.lprintc
Cs�d}|jtkr|j|j}nX|jtkrtt|j|jd�}|dkrtt|jt�rty|j�	|jd�}Wnt
k
rrYnXt|d��r�yt|�}Wn&t
k
r�tdd�tgi�}YnX|jtkr�|}yt|�}|jtkr�td��Wnt
k
r�d}YnX�n |jtk�r�g}i}|j}	d}x�|D]�}|	dk�rt|jtk�rD|j}	n.|jtk�rV�q"n|jtk�rj|}Pntd��nP|jtk�r�|�|	�n4|jtk�r�|j||	<n|jtk�r�|}Pntd��d}	�q"W|	dk	�r�|�|	�tdd�t||�}n,|jtk�rtdd�tgi�}|}ntd���y<||j|j�}
|dk	�r�|j}|
|_yt|�}Wnt
k
�rptd��YnX|jtk�r�td��y|�||�Wntk
�r�YnX||_dSt|d	��r�|
}n�t|d
��r4t|
d��s�t|
d��r&x@|
D],}t|t��r|�|�n|�t|���q�Wn
|�|
�dSt|
ttttf��rV|�|
�dSdSWn,tk
�r�|jd
7_t��dSXn�t|jt��rPt|t��sPyxt|�}|jtk�r�|j|j|j<nP|jtk�r�|j�r�|j|j|j<n,|jtk�r|j�r|j|j|j<ntd��dStk
�r:t
��Ynt
k
�rNYnX|dk�rbt
��n"t|tttf��r�|�|�n|SdS)N�__call__�Token)�kind�argv�kwargz
pipe expectedz
stmt expectedzstmt or comma expectedzdict, stmt or comma expectedzstatement expectedZ__cli_cptr__Z__cli_publish__�	generator�next�zfailed setting a key/value pair) r/rrr1r�getattrr"r&�dict�get�KeyError�hasattrr3�
StopIterationrr�	TypeErrorr�appendr0�handle_statement�	Exceptionr
r,�repr�bool�int�floatr�	traceback�	print_exc�NotImplementedError)
r�stmt�token�obj�nt�args�piper0r1�arg_name�retr�linerrrr=7s�
















zSession.handle_statementc	
Csf|j|krLxNt|j�|jkrH|j�t|j��|jr|j��\|_|_qWn|j�|j�|j}t	|�}d}|j}|j}�z��y��x�|D�]�}|j
|jk�r�|j
dkr�t��n�|j
dkr�|�
t|j��n�|j
dk�r|�
d�x|jD]}|�
|�q�W|�
d�nx|j
dk�r$|�
t|j��nZ|j
dk�rH|j�r~|j��\}}n6|j
dk�r~y|�
tjj�Wn|�
d	�YnXPq�y@|�||�}|dk	�r�||_t|d
��r�|��|_n|j
|_Wq�tk
�r�|�
d�|jd7_|S|jd7_t��Yq�Xq�WWntk
�r0�YnXWd|dk	�rR|j�||f�n|||_|_X|S)
Nrr
z:stackzstack:r+rz..r�unknown�key_reprzobject not foundr4)�indent�maxr�removerr#rr!�add�iterr"r�
SystemExitr,�dirr?rr�__version__r=r9rPr8rrCrDr<)	r�sentencerQ�iteratorrHZsave_ptrZsave_ptrnamerF�itemrrr�handle_sentence�sl






zSession.handle_sentencercCs(t|�}x|jD]}|�||�}qW|S)N)r	Z	sentencesr\)rr*rQ�parserrYrrr�handle�szSession.handle)NNN)rr%)r)�__name__�
__module__�__qualname__r �propertyr!�setterr$r,r=r\r^rrrrr
s

	=r)�
__future__rrrC�collectionsrZpyroute2rZpyroute2.clirrrrZpyroute2.cli.parserr	Zpyroute2.commonr
�objectrrrrr�<module>s