
    8f
                        d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d
dZd
dZddZedk(  r8 e       Zej!                         D ]  \  ZZ ed	j)                  ee              yy)    )annotationsN)Iterable)Pathc               #    K   	 t        j                  t         j                  d      5 } t        j                  | d      \  }}d d d        t        t        j                  j                              j                  d      }|j                         rX|j                  d      D ]C  }	 t        |d      5 }t        j                  |      }d d d        d   t        |d         f E y y # 1 sw Y   xY w# t        $ r Y y w xY w# 1 sw Y   =xY w# t        j                  t         f$ r t#        d	|t$        j&                  
       Y w xY ww)Nz1Software\Wow6432Node\Epic Games\EpicGamesLauncherAppDataPath	Manifestsz*.itemutf-8encodingAppNameInstallLocationz(Unable to parse Epic Games manifest filefile)winregOpenKeyHKEY_LOCAL_MACHINEQueryValueExFileNotFoundErrorr   ospath
expandvarsjoinpathexistsglobopenjsonloadJSONDecodeErrorKeyErrorprintsysstderr)keyepic_app_data_path_manifests_pathmanifest_file_pathmanifest_filemanifest_file_datas          jC:\Program Files (x86)/Steam/steamapps/common/Skyrim Special Edition/MO2/plugins\basic_games\epic_utils.pyfind_epic_gamesr+      sK    ^^%%@
 	L $*$7$7]$K!		L "'',,-?@AJJ;WN"0"5"5h"? 	,w? B=)-=)A&B 'y1+,=>? 		 	L 	L
  B B (((3 >&s|   E$C6 C*C6 
AE&D3D	D&E*C3/C6 6	D?EDED	
D5E	EE		Ec               #  
  K   t         j                  j                  d      x} rt        | d      }nt        d      j	                         }|dz  }|j                         rW	 t        |d      5 }t        j                  |      }d d d        j                         D ]  }|d   t        |d         f  y y # 1 sw Y   5xY w# t        j                  t        t        f$ r t        d	|t        j                  
       Y y w xY ww)NXDG_CONFIG_HOME	legendaryz~/.config/legendaryzinstalled.jsonr	   r
   app_nameinstall_pathz.Unable to parse installed games from Legendaryr   )r   environgetr   
expanduserr   r   r   r   valuesr   AttributeErrorr   r    r!   r"   )config_pathlegendary_config_pathinstalled_pathinstalled_fileinstalled_gamesgames         r*   find_legendary_gamesr<   )   s      jjnn%677{7 $[+ > $%: ; F F H*-==N
	nw7 <>"&))N";<'..0 C:&T.-A(BBBC	 < < $$nh? 	@ZZ	sB   AD C -B72C 5D7C <C :D =D?D  Dc                 `    t        t        j                  t               t	                           S )N)dict	itertoolschainr+   r<        r*   
find_gamesrC   @   s    	 13G3IJKKrB   __main__zFound game with id {} at {}.)returnzIterable[tuple[str, Path]])rE   zdict[str, Path])
__future__r   r?   r   r   r!   r   collections.abcr   pathlibr   r+   r<   rC   __name__gamesitemskvr    formatrA   rB   r*   <module>rO      sr    "   	 
  $ 8.L zLE ;1,33Aq9:; rB   