HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //lib/python3.9/site-packages/tuned/profiles/functions/__pycache__/parser.cpython-39.pyc
a

,�ga�@s>ddlZddlZddlmZej��Ze�ZGdd�d�Z	dS)�N)�commandsc@sZeZdZdZdd�Zddd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�Parserz;
	Parser used for expanding strings containing functions.
	cCs
||_dS�N)�_repository)�selfZ
repository�r�C/usr/lib/python3.9/site-packages/tuned/profiles/functions/parser.py�__init__szParser.__init__�cCs&d|_||_t|�|_g|_d|_dS)NrF)�_cnt�_str�len�_len�_stack�_esc�r�srrr�_parse_inits

zParser._parse_initcCs|j|jkr|j|jSdS)Nr
)rrr)rrrr�
_curr_charszParser._curr_charcCs|j|j|j|�Sr)rr)rrrrr�_curr_substrszParser._curr_substrcCs|j�||jf�dSr)r�appendr)rZescrrr�	_push_posszParser._push_poscCsd|jd|�||j|dd�|_t|j�|_|jt|�||d7_|jdkr`d|_dS)N�r)rr
rr)r�a�brrrr�_sub!s
&
zParser._subcCs�t�d|j||j��}|ddkr(dSdd�|D�}t�d|d�s\t�d|d�dSz|j�|d�}Wn&t	y�t�d	|d�YdS0|�
|d
d��}t�dd�|dd��|f�|dur�dS|�
||j|�dS)
Nz(?<!\\):rz${fcSsg|]}t|��dd��qS)z\:�:)�str�replace)�.0�vrrr�
<listcomp>,�z(Parser._process_func.<locals>.<listcomp>z\w+$rzinvalid function name '%s'zfunction '%s' not implemented�z${f:%s} expands to: '%s'r)�re�splitrr�match�log�errorrZ	load_func�ImportErrorZexecute�debug�joinr)rZ_from�sl�frrrr�
_process_func(s" zParser._process_funccCs�|�|�|j|jkr�|��dkrpz|j��}Wn&tyVt�d|�|j	YS0|ds�|�
|d�n|�d�dkr�|�|j
�|��dkr�d|_
nd	|_
|jd7_q
t|j�r�t�d
|�|j	S)N�}z.invalid variable syntax, non pair '}' in: '%s'rrr#z${�\TFz.invalid variable syntax, non pair '{' in: '%s')rrrrr�pop�
IndexErrorr'r(rr.rrrr
)rr�sirrr�_process;s&

zParser._processcCs(|dus|dkr|St�dd|�|��S)Nr
z\\(\${f:.*})z\1)r$�subr4rrrr�expandRsz
Parser.expandN)r
)
�__name__�
__module__�__qualname__�__doc__r	rrrrrr.r4r6rrrrr	s
r)
r$Z
tuned.logsZtunedZtuned.utils.commandsrZlogs�getr'�cmdrrrrr�<module>s