HEX
Server: Apache
System: Linux insrv.serversdaddy.com 5.14.0-362.24.2.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Mar 30 14:11:54 EDT 2024 x86_64
User: jsaha (1066)
PHP: 8.3.6
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3.9/site-packages/tuned/utils/__pycache__/global_config.cpython-39.pyc
a

Y��d��@s^ddlZddlmZmZddlmZddlmZddl	m
Z
dgZej�
�ZGdd�d�ZdS)�N)�ConfigParser�Error)�TunedException)�commands�GlobalConfigc@sdeZdZejfdd�Zedd��Zejfdd�Zddd	�Z	dd
d�Z
dd
d�Zdd�Zddd�Z
dS)rcCsi|_|j|d�t�|_dS)N)�	file_name)�_cfg�load_configr�_cmd)�selfZconfig_file�r�=/usr/lib/python3.9/site-packages/tuned/utils/global_config.py�__init__
szGlobalConfig.__init__cCs>dd�tt�D�}tdd�|D��}tdd�|D��}||fS)ai
		Easy validation mimicking configobj
		Returns two dicts, first with default values (default None)
		global_default[consts.CFG_SOMETHING] = consts.CFG_DEF_SOMETHING or None
		second with configobj function for value type (default "get" for string, others eg getboolean, getint)
		global_function[consts.CFG_SOMETHING] = consts.CFG_FUNC_SOMETHING or get
		}
		cSs.g|]&}|�d�r|�d�s|�d�s|�qS)ZCFG_�	CFG_FUNC_�CFG_DEF_)�
startswith��.0�optrrr
�
<listcomp>s


�z7GlobalConfig.get_global_config_spec.<locals>.<listcomp>css0|](}tt|�ttd|dd�d�fVqdS)r�N��getattr�constsrrrr
�	<genexpr> �z6GlobalConfig.get_global_config_spec.<locals>.<genexpr>css0|](}tt|�ttd|dd�d�fVqdS)rrN�getrrrrr
r!r)�dirr�dict)�optionsZglobal_defaultZglobal_functionrrr
�get_global_config_specs
z#GlobalConfig.get_global_config_specc
Csnt�d|�z�tdddd�}t|_t|��.}|�dtjd|�	�|�Wd�n1s`0Y|�
�\|_}|�tj�D]~}||jvr�z$t
|||�}|tj|�|j|<Wnty�td	|��Yn0q�t�d
||f�|jtj|dd�|j|<q�Wnbt�y8}ztd
|��WYd}~n:d}~0t�yh}ztd|��WYd}~n
d}~00dS)z&
		Loads global configuration file.
		z2reading and parsing global configuration file '%s'�=�#F)Z
delimitersZinline_comment_prefixes�strict�[z]
Nz2Global TuneD configuration file '%s' is not valid.z/Unknown option '%s' in global config file '%s'.T)�rawz/Global TuneD configuration file '%s' not found.z3Error parsing global TuneD configuration file '%s'.)�log�debugr�strZoptionxform�openZread_stringrZMAGIC_HEADER_NAME�readr rrrrr�infor�IOError)rrZ
config_parser�fZ_global_config_func�option�func�errr
r	$s,
<
� zGlobalConfig.load_configNcCs|j�||�S�N)rr�r�key�defaultrrr
r?szGlobalConfig.getcCs |j�|�||��dkrdSdS)N�1TF)r
�get_boolrr2rrr
r6BszGlobalConfig.get_boolrcCs.|j�||�}|r*t|t�r |St|d�S|S)Nr)rr�
isinstance�int)rr3r4�irrr
�get_intGs

zGlobalConfig.get_intcCs||j|<dSr1)r)rr3�valuerrr
�setPszGlobalConfig.setcCsH|�|�}|dur|S|j�|�}|dur@t�d||f�|S|SdS)Nz%Error parsing value '%s', using '%s'.)rr
�get_sizer&�error)rr3r4�val�retrrr
r=Ss
zGlobalConfig.get_size)N)N)r)N)�__name__�
__module__�__qualname__rZGLOBAL_CONFIG_FILEr�staticmethodr r	rr6r:r<r=rrrr
rs



	)Z
tuned.logsZtunedZtuned.utils.config_parserrrZtuned.exceptionsrZtuned.constsrZtuned.utils.commandsr�__all__Zlogsrr&rrrrr
�<module>s