+
    KiB  c                   sN    ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt  ! R R4      tR# )i    N)Any)NotificationSource)loggerc                   sx   a  ] tR t^	t o RtV 3R lR ltRV 3R lR lltRV 3R lR lltRV 3R lR	 lltR
t	V t
R# )
SettingsIOzConfigParser abstraction.c                s    < V ^8  d   QhRS[ /# )   config_filestrZformat__classdict__   "9/usr/lib/python3.14/site-packages/lutris/util/settings.py__annotate__SettingsIO.__annotate__   s     v vC v    c                s   Wn         \        P                  ! 4       V n        \	        4       V n        \        P                  P                  V P                   4      '       d*    V P                  P                  V P                   .4       R# R#   \        P                   d.   p\        P                  ! R T P                   T4        Rp?R# Rp?i\         d#   p\        P                  ! RT4        Rp?R# Rp?ii ; i)z Failed to readconfig file %s: %sNzQSome invalid characters are preventing the setting file from loading properly: %s)r   configparserZConfigParserconfigr   SETTINGS_CHANGEDosZpathZexistsZreadZParsingErrorr   ZerrorZUnicodeDecodeError)selfr   Zexs   && r   __init__ZSettingsIO.__init__   s    &"//1 !3 477>>$**++v  $"2"2!34 ,  ,, W?AQAQSUVV% vprtuuvs*    &B
 
C7"CC7C7C22C7c                s2   < V ^8  d   QhRS[ RS[ RS[ RS[ /# r   keydefaultsectionreturnr   r   r
   r   r   r      s*       c  TW r   c                s     V P                   P                  W14      #   \        P                  \        P                  3 d    Tu # i ; i)zRead a setting from the config file

Params:
    key (str): Setting key
    section (str): Optional section, default to 'lutris'
    default (str): Default value to return if setting not present
)r   Zgetr   ZNoOptionErrorZNoSectionError)r   r   r   r   s   &&&&r   read_settingZSettingsIO.read_setting   s?    	;;??700**L,G,GH 	N	s    'AAc                s2   < V ^8  d   QhRS[ RS[RS[ RS[/# r   )r   Zboolr   r
   r   r   r   (   s*      S 4 # ]a r   c                sn    V P                  VR VR7      P                  4       pVR8X  d   R# VR8X  d   R# V# ) )r   ZtrueTZfalseF)r   Zcasefold)r   r   r   r   Ztext   &&&& r   read_bool_settingZSettingsIO.read_bool_setting(   s;      b' :CCE6>7?r   c                s0   < V ^8  d   QhRS[ RS[RS[ RR/# )r   r   valuer   r   N)r   r    r   r
   r   r   r   1   s)     8 8 8S 83 8d 8r   c                s   V P                   P                  V4      '       g   V P                   P                  V4       V P                   P                  W1\	        V4      4       \        V P                  R RR7      ;_uu_ 4       pV P                   P                  V4       RRR4       V P                  P                  WV4       R#   + '       g   i     L.; i)Zwzutf-8)ZencodingN)
r   Zhas_sectionZadd_sectionZsetr   Zopenr   Zwriter   Zfire)r   r   r   r   r   r   r   write_settingZSettingsIO.write_setting1   s    {{&&w//KK##G,c%j1$""C'::kKKk* ; 	""3w7 ;:s   CC	)r   r   r   N)r   lutris)Fr    )r    )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   r   r   Z__static_attributes__Z__classdictcell__)r	   s   @r   r   r   	   s7     #v v  8 8 8r   r   )	r   r   Ztypingr    Zlutris.gui.widgetsr   Zlutris.util.logr   r   ) r   r   <module>r!      s     	  1 "08 08r   