MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: sanbercountryclu (1012)
PHP: 8.2.33
Disabled: NONE
Upload Files
File: //lib/python3.12/site-packages/tuned/profiles/__pycache__/locator.cpython-312.pyc
�

�]�i���>�ddlZddlmZddlmZmZGd�de�Zy)�N)�ConfigParser�Errorc�`�eZdZdZdgZd�Zed��Zd�Zdd�Z	d�Z
d	�Zdd
�Zd�Z
d�Zd
�Zy)�Locatorz$
	Profiles locator and enumerator.
	�_load_directoriesc�J�t|�turtd��||_y)Nz(load_directories parameter is not a list)�type�list�	TypeErrorr)�self�load_directoriess  �;/usr/lib/python3.12/site-packages/tuned/profiles/locator.py�__init__zLocator.__init__s$��	�
��4�'�	�=�	>�>�+�$��c��|jS�N)r�rs rr
zLocator.load_directoriess��	
�	�	�rc��t|�dgz}tjj|�}tjj	|�S)Nz
tuned.conf)r
�os�path�join�normpath)r�
path_parts�config_names   r�_get_config_filenamezLocator._get_config_filenames:���J��<�.�0�*������j�)�+�	���	�	�+�	&�&rNc��d}|dddk(}|r|dd}t|j�D]]}|j|tjj|��}|�||vrd}�;tjj
|�s�[|cS|r|�d}|S)Nr��-�)�reversedrrrr�basename�isfile)r�profile_name�
skip_files�ret�conditional_load�dir_name�config_files       r�
get_configzLocator.get_configs����#�!�!�A�&�#�-����q�r�"�<��4�1�1�2�h��*�*�8�R�W�W�5E�5E�l�5S�T�;����
�!:�
�C���g�g�n�n�[�!���3��#�+�	�3�	�*rc�$�|duxr|dk7xrd|vS)Nr�/�)rr#s  r�check_profile_name_formatz!Locator.check_profile_name_format0s!��	�T�	!�	T�l�b�&8�	T�S��=T�Trc�x�|j|�sy|j|�}|�y	tdddd��}t|_t|�5}|j
dtjzdz|j�z�ddd�|S#1swY|SxYw#tttf$r
}Yd}~yd}~wwxYw)N�=�#TF)�
delimiters�inline_comment_prefixes�allow_no_value�strict�[z]
)
r-r)r�str�optionxform�open�read_string�consts�MAGIC_HEADER_NAME�read�IOError�OSErrorr)rr#r(�config�f�es      r�parse_configzLocator.parse_config3s���	
�	'�	'��	5�
�����-�+���
���S�C�Y]�fk�l�6��6���[��Q�
���s�V�5�5�5��=�����H�I�	�
�=�	�
�=��
�7�E�	"��
���s/�%B�
7B�	B�B�B�B�B9�4B9c��	t|�}	t|�}||kr||dg||z
zz}|j|�}|�gd�Stj|j�v}d|g}t
||�D]h\}	}
|	dk(s|	�d|d<|dgz}�|rH|	|jtj�vr'||jtj|	d��gz}�c||
gz}�j|S#t$r|g}d}Y��wxYw#t$r|g}d}Y��wxYw)	Nr���)FrrrTrFr)�raw)	�lenrrBr:�PLUGIN_MAIN_UNIT_NAME�sections�zip�options�get)rr#�attrs�defvals�	attrs_len�defvals_lenr?�main_unit_in_config�vals�attr�defvals           r�get_profile_attrszLocator.get_profile_attrsGs9����5�z�9���W��;�
�9��
����
��[�)@�A�
B�7����\�*�&��^�
���4�4����8I�I��
��	�$��E�7�+�n�t�V�
�b�j�D�L��D��G��2�$�;�D������v�7S�7S�(T� T��6�:�:�f�:�:�D�d�:�K�L�L�D��6�(�?�D�,�
�+��1
���7�5��9���

���Y�7��;��s"�C!�C5�!C2�1C2�5D�Dc��t�}|jD]`}	tj|�D]E}|j	||�}tj
j
|�s�5|j|��G�b|S#t$rY�pwxYwr)	�setrr�listdirrrr"�addr>)r�profilesr'r#r(s     r�
list_profileszLocator.list_profilesesz��
�U�(��(�(�h�	��
�
�8�,���,�,�X�|�D�[�
�����{�#��l�l�<� �-�)�
�/���	��	�s�A	A<�%A<�<	B�Bc�4�t|j��Sr)�sortedrZrs r�get_known_nameszLocator.get_known_namesqs��	��"�"�$�	%�%rc	��t|j��D�cgc]*}||j|tjgdg�df��,c}Scc}w)Nr�)r\rZrTr:�PROFILE_ATTR_SUMMARY)r�profiles  r�get_known_names_summaryzLocator.get_known_names_summarytsw��lr�sw�tF�tF�tH�mI�
J�mI�ah�7�D�*�*�7�V�5P�5P�4Q�TV�SW�X�YZ�[�
\�mI�
J�J��
Js�/Ar)�__name__�
__module__�__qualname__�__doc__�	__slots__r�propertyr
rr)r-rBrTrZr]rbr,rrrrsT���"�
"��,�
� �� �'�

�,U�
�(�<
�&�Jrr)r�tuned.constsr:�tuned.utils.config_parserrr�objectrr,rr�<module>rls��	��9�pJ�f�pJr