From d977b2b6212137b8731d7b0ff0d66987d6637030 Mon Sep 17 00:00:00 2001 From: bsjohnson20 Date: Wed, 23 Jul 2025 17:41:53 +0100 Subject: [PATCH] add small exception handler for unable to open folder --- src/vdfparser.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/vdfparser.py b/src/vdfparser.py index ba80d59..ab94a47 100644 --- a/src/vdfparser.py +++ b/src/vdfparser.py @@ -101,15 +101,18 @@ def fetchall_vdfs(steam_vdf_json: dict): for library in steam_vdf_json["libraryfolders"]: path = steam_vdf_json['libraryfolders'][library]['path'] steamapps = os.path.join(path, "steamapps") - for game in os.listdir(steamapps): - if game.endswith(".acf"): - gameID = int(game.split('.')[0].split('_')[1]) - parsed_game = read_game_vdf(gameID, steam_vdf_json, steamapps, game) - parsed_game['acf_path'] = os.path.join(steamapps, game) - parsed_game['root_steam_folder'] = path - parsed_game['true_path'] = os.path.join(steamapps, "common", parsed_game['installdir']) - parsed_game['compatdata_path'] = os.path.join(steamapps, "compatdata", str(gameID)) if os.path.exists(os.path.join(steamapps, "compatdata", str(gameID))) else None - parsed_game['workshop_path'] = os.path.join(steamapps, "workshop", "content", str(gameID)) if os.path.exists(os.path.join(steamapps, "workshop", "content", str(gameID))) else "" - games.append(parsed_game) - # print("Game name:", parsed_game['name'], "ID:", gameID, "Path:", parsed_game['true_path']) + try: + for game in os.listdir(steamapps): + if game.endswith(".acf"): + gameID = int(game.split('.')[0].split('_')[1]) + parsed_game = read_game_vdf(gameID, steam_vdf_json, steamapps, game) + parsed_game['acf_path'] = os.path.join(steamapps, game) + parsed_game['root_steam_folder'] = path + parsed_game['true_path'] = os.path.join(steamapps, "common", parsed_game['installdir']) + parsed_game['compatdata_path'] = os.path.join(steamapps, "compatdata", str(gameID)) if os.path.exists(os.path.join(steamapps, "compatdata", str(gameID))) else None + parsed_game['workshop_path'] = os.path.join(steamapps, "workshop", "content", str(gameID)) if os.path.exists(os.path.join(steamapps, "workshop", "content", str(gameID))) else "" + games.append(parsed_game) + # print("Game name:", parsed_game['name'], "ID:", gameID, "Path:", parsed_game['true_path']) + except Exception as e: + print(f"Error processing game {steamapps}: {e}") return games