+
     Gi  c                   s@    ^ RI t ^ RIHt ^ RIHtHt  ! R R]4      tR# )    N)ConfigParserErrorc                   sx   a  ] tR t^t o RtR.tR t]R 4       tR t	RR lt
R tR	 tRR
 ltR tR tR tRtV tR# )Locatorz"
Profiles locator and enumerator.
_load_directoriesc                sN    \        V4      \        Jd   \        R 4      hWn        R# )z(load_directories parameter is not a listN)Ztypelist	TypeErrorr   )selfload_directories   &&;/usr/lib/python3.14/site-packages/tuned/profiles/locator.py__init__ZLocator.__init__   s"    	
4'	=	>>+    c                s    V P                   # Nr   r      &r
   r   ZLocator.load_directories   s    			r   c                s    \        V4      R .,           p\        P                  P                  ! V!  p\        P                  P	                  V4      # )z
tuned.conf)r   ospathZjoinZnormpath)r   Z
path_partsZconfig_names   &* r
   _get_config_filenameZLocator._get_config_filename   s:    J<.0*j)+			+	&&r   Nc                sd   R pVR,          R8H  pV'       d
   VR,          p\        V P                  4       Fi  pV P                  V\        P                  P                  V4      4      pVe   Wb9   d   RpK@  \        P                  P                  V4      '       g   Kg  Vu # 	  V'       d   Vf   RpV# )N:r       NZ-:r   NN )Zreversedr   r   r   r   Zbasenameisfile)r   profile_nameZ
skip_filesZretZconditional_loaddir_nameconfig_files   &&&    r
   
get_configZLocator.get_config   s    #!#&#-r"<4112h**8RWW5E5El5ST;!:
Cggnn[!! 3 #+	3	*r   c                s>    VR J;'       d    VR8g  ;'       d    RV9  # )Nr   Z/ )r   r   r	   r
   check_profile_name_formatZ!Locator.check_profile_name_format0   s'    	T	!	T	Tlb&8	T	TS=TTr   c                s   V P                  V4      '       g   R # V P                  V4      pVf   R #  \        RRRRR7      p\        Vn        \        V4      ;_uu_ 4       pVP                  R\        P                  ,           R,           VP                  4       ,           4       R R R 4       V#   + '       g   i     T# ; i  \        \        \        3 d   p R p?R # R p?ii ; i)NZ=Z#TF)Z
delimitersZinline_comment_prefixesZallow_no_valueZstrictZ[z]
)r   r   r   ZstrZoptionxformZopenZread_stringconstsZMAGIC_HEADER_NAMEZreadZIOErrorOSErrorr   )r   r   r   configZfZes   &&    r
   parse_configZLocator.parse_config3   s    		'	'	5	5
-+
SCY]fkl66[Q
sV555=HI 	
= 	
=
7E	" 
s0   -C  AB,"	C  ,B=	7C  =C   C!C!c                sr    \        V4      p \        V4      pWT8  d   W3R,          .WE,
          ,          ,           pV P                  V4      pVf   . RO# \        P                  VP                  4       9   pRV.p\        W#4       F  w  rV	R8X  g   V	f   RV^ &   VR.,           pK!  V'       dO   WP                  \        P                  4      9   d,   WP                  \        P                  V	RR7      .,           pKw  W.,           pK  	  V#   \         d
    T.p^p ELi ; i  \         d
    T.p^p ELi ; i)r   Fr   T)Zrawi)Fr   r   r   )	Zlenr   r    r   ZPLUGIN_MAIN_UNIT_NAMEZsectionsZzipZoptionsZget)r   r   ZattrsZdefvalsZ	attrs_lenZdefvals_lenr   Zmain_unit_in_configZvalsZattrZdefvals   &&&&       r
   get_profile_attrsZLocator.get_profile_attrsG   s)   5z9W;
 )@AB7\*&^
448II
	$E+nt
bjDLDG2$;Dv7S7S(T T::f::Dd:KLLD(?D , 
+1 
 759
 
 Y7;s"   D D" DD"D65D6c                s2   \        4       pV P                   Fj  p \        P                  ! V4       FL  pV P	                  W#4      p\        P
                  P                  V4      '       g   K;  VP                  V4       KN  	  Kl  	  V#   \         d     K~  i ; ir   )	Zsetr   r   Zlistdirr   r   r   Zaddr   )r   Zprofilesr   r   r   s   &    r
   list_profilesZLocator.list_profilese   s{    U(((h	

8,,,XD[
{##ll<  - ) 
/  		s   AB,BBBc                s4    \        V P                  4       4      # r   )sortedr"   r   r   r
   get_known_namesZLocator.get_known_namesq   s    	""$	%%r   c           	     s    \        V P                  4       4       Uu. uF.  qV P                  V\        P                  .R .4      ^,          3NK0  	  up# u upi )r   )r#   r"   r!   r   ZPROFILE_ATTR_SUMMARY)r   Zprofiles   & r
   get_known_names_summaryZLocator.get_known_names_summaryt   su    lrsw  tF  tF  tH  mI  
J  mIahD**7V5P5P4QTVSWXYZ[
\  mI  
J  J  
Js   4Ar   r   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z	__slots__r   Zpropertyr   r   r   r   r    r!   r"   r$   r%   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r
   r   r      s]      "",
    '
,U(<
&J Jr   r   )r   Ztuned.constsr   Ztuned.utils.config_parserr   r   Zobjectr   r   r   r
   <module>r&      s    	  9pJf pJr   