From de65141857b27912a00242c61561ab60693e0a21 Mon Sep 17 00:00:00 2001 From: Dummerle <44114474+Dummerle@users.noreply.github.com> Date: Sun, 7 Nov 2021 01:39:22 +0100 Subject: [PATCH] core.egl_import and export are now returning error message --- legendary/core.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/legendary/core.py b/legendary/core.py index 226f9358..fc369921 100644 --- a/legendary/core.py +++ b/legendary/core.py @@ -1582,8 +1582,9 @@ def egl_import(self, app_name): try: egl_game = self.egl.get_manifest(app_name=app_name) except ValueError: - self.log.fatal(f'EGL Manifest for {app_name} could not be loaded, not importing!') - return + err = f'EGL Manifest for {app_name} could not be loaded, not importing!' + self.log.fatal(err) + return err # convert egl json file lgd_igame = egl_game.to_lgd_igame() @@ -1594,9 +1595,9 @@ def egl_import(self, app_name): wine_pfx = os.path.realpath(os.path.join(drive_c_path, '..')) mapped_path = os.path.realpath(os.path.join(wine_pfx, 'dosdevices', drive_letter)) if 'dosdevices' in mapped_path: - self.log.error(f'Unable to resolve path for mapped drive "{drive_letter}" ' - f'for WINE prefix at "{wine_pfx}"') - return + err = f'Unable to resolve path for mapped drive "{drive_letter}" for WINE prefix at "{wine_pfx}"' + self.log.error(err) + return err game_path = lgd_igame.install_path[2:].replace('\\', '/').lstrip('/') new_path = os.path.realpath(os.path.join(mapped_path, game_path)) @@ -1606,8 +1607,9 @@ def egl_import(self, app_name): # check if manifest exists manifest_filename = os.path.join(lgd_igame.install_path, '.egstore', f'{lgd_igame.egl_guid}.manifest') if not os.path.exists(manifest_filename): - self.log.warning(f'Game Manifest "{manifest_filename}" not found, cannot import!') - return + err = f'Game Manifest "{manifest_filename}" not found, cannot import!' + self.log.warning(err) + return err # load manifest file and copy it over with open(manifest_filename, 'rb') as f: @@ -1622,7 +1624,7 @@ def egl_import(self, app_name): # mark game as installed _ = self._install_game(lgd_igame) - return + return "" def egl_export(self, app_name): self.log.debug(f'Exporting "{app_name}" to EGL') @@ -1631,8 +1633,9 @@ def egl_export(self, app_name): lgd_igame = self._get_installed_game(app_name) manifest_data, _ = self.get_installed_manifest(app_name) if not manifest_data: - self.log.error(f'Game Manifest for "{app_name}" not found, cannot export!') - return + err = f'Game Manifest for "{app_name}" not found, cannot export!' + self.log.error(err) + return err # create guid if it's not set already if not lgd_igame.egl_guid: