From 1b0cd3d7940a681ee5ce06179f8e863f916a3ce7 Mon Sep 17 00:00:00 2001 From: R1kaB3rN <100738684+R1kaB3rN@users.noreply.github.com> Date: Tue, 22 Oct 2024 13:46:40 -0700 Subject: [PATCH] umu_run: update error handling when getting layer id --- umu/umu_run.py | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/umu/umu_run.py b/umu/umu_run.py index a9530ac1..fa4b6649 100755 --- a/umu/umu_run.py +++ b/umu/umu_run.py @@ -497,27 +497,33 @@ def get_steam_layer_id() -> int: """Get the Steam layer ID from the host environment variables.""" steam_layer_id: int = 0 - try: - if os.environ.get("STEAM_COMPAT_TRANSCODED_MEDIA_PATH"): - steam_layer_id = int( + if os.environ.get("STEAM_COMPAT_TRANSCODED_MEDIA_PATH"): + try: + return int( Path(os.environ["STEAM_COMPAT_TRANSCODED_MEDIA_PATH"]).parts[ -1 ] ) - elif os.environ.get("STEAM_COMPAT_MEDIA_PATH"): - steam_layer_id = int( - Path(os.environ["STEAM_COMPAT_MEDIA_PATH"]).parts[-2] - ) - elif os.environ.get("STEAM_FOSSILIZE_DUMP_PATH"): - steam_layer_id = int( - Path(os.environ["STEAM_FOSSILIZE_DUMP_PATH"]).parts[-3] - ) - elif os.environ.get("DXVK_STATE_CACHE_PATH"): - steam_layer_id = int( - Path(os.environ["DXVK_STATE_CACHE_PATH"]).parts[-2] - ) - except (ValueError, IndexError) as e: - log.exception(e) + except (ValueError, IndexError): # Value isn't a number or empty tuple + pass + + if os.environ.get("STEAM_COMPAT_MEDIA_PATH"): + try: + return int(Path(os.environ["STEAM_COMPAT_MEDIA_PATH"]).parts[-2]) + except (ValueError, IndexError): + pass + + if os.environ.get("STEAM_FOSSILIZE_DUMP_PATH"): + try: + return int(Path(os.environ["STEAM_FOSSILIZE_DUMP_PATH"]).parts[-3]) + except (ValueError, IndexError): + pass + + if os.environ.get("DXVK_STATE_CACHE_PATH"): + try: + return int(Path(os.environ["DXVK_STATE_CACHE_PATH"]).parts[-2]) + except (ValueError, IndexError): + pass return steam_layer_id