+
    ºKži!  c                   s\   € ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHt R t	R t
R tR	 tR
 tR# )i    N)Úsettings)Úsql)Úsystem)Úloggerc                 sV   € \         P                  ! \        P                  R RV /4       R# ©ÚsourcesÚuriN)r   Ú	db_insertr    ÚDB_PATH©r   ó   &Ú</usr/lib/python3.14/site-packages/lutris/database/sources.pyÚ
add_sourcer   	   s   € Ü‡M‚M”(×"Ñ" I°°s¨|Ö<ó    c                 sT   € \         P                  ! \        P                  R RV 4       R# r   )r   Ú	db_deleter    r   r	   r
   r   Údelete_sourcer      s   € Ü‡M‚M”(×"Ñ" I¨u°cÖ:r   c                  s  € \         P                  ! \        P                  4      ;_uu_ 4       p V P	                  R 4      pVP                  4       pRRR4       X Uu. uF  q3^ ,          NK  	  up#   + '       g   i     L(; iu upi )zselect uri from sourcesN)r   Z	db_cursorr    r   ZexecuteZfetchall)ZcursorZrowsZresultsZrows       r   Úread_sourcesr      s`   € Ü	Š”x×'Ñ'×	(Ô	(¨FØ~‰~Ð7Ó8ˆØ—-‘-“/ˆ÷ 
)ñ &Ó&™gsFˆF™gÑ&Ð&÷ 
)×	(üò 's   ­"A/ÁBÁ/A?	c                 sü   € \        4       pV F2  pW 9  g   K  \        P                  ! \        P                  R RV4       K4  	  V  F3  pW!9  g   K  \        P
                  ! \        P                  R RV/4       K5  	  R# r   )r   r   r   r    r   r   )r   Z
db_sourcesr   s   &  r   Úwrite_sourcesr      s]   € Ü“€JÛˆØÖÜMŠMœ(×*Ñ*¨I°u¸cÖBñ ó ˆØÖ ÜMŠMœ(×*Ñ*¨I¸¸s°|ÖDó r   c                 sd  € \        4        EF   pVP                  R 4      '       d   VR,          pM"VR,          p\        P                  ! RV4       KG  \        P
                  ! V4      '       g   \        P                  ! RV4       K|  \        P                  P                  W 4      p\        P
                  ! V4      '       g   K¹  \        P                  ! V4       FM  p\        P                  P                  V4      w  rgWa8X  g   K,  \        P                  P                  WE4      u u # 	  EK#  	  R# )zfile://:é   NN:Nr   Nz&PGA source protocol %s not implementedzPGA source %s unavailableF)r   Z
startswithr   Zwarningr   Zpath_existsZinfoÚosZpathZjoinZlistdirZsplitext)ZgameZfile_idZsourceZprotocolZgame_dirZ	game_fileZ	game_baseZ_exts   &&      r   Úcheck_for_filer   "   sÓ   € Ü—.ˆØ×Ñ˜Y×'Ò'Ø˜B•Z‰Fà˜b•zˆHÜNŠNÐCÀXÔNÙÜ×!Ò! &×)Ò)ÜKŠKÐ3°VÔ<ÙÜ—7‘7—<‘< Ó-ˆÜ×!Ò! (×+Ò+ÙÜŸš HÖ-ˆIÜ Ÿg™g×.Ñ.¨yÓ9‰OˆIØÖ#Ü—w‘w—|‘| HÓ8Ô8ô .ñ !ñ" r   )r   Zlutrisr    Zlutris.databaser   Zlutris.utilr   Zlutris.util.logr   r   r   r   r   r   ) r   r   Ú<module>r      s.   ðÛ 	å Ý Ý Ý "ò=ò;ò'òEôr   