diff --git a/NSLGameScanner.py b/NSLGameScanner.py index 8ae70bf..0c41505 100644 --- a/NSLGameScanner.py +++ b/NSLGameScanner.py @@ -1018,27 +1018,31 @@ if new_shortcuts_added or shortcuts_updated: # Assuming 'games' is a list of game dictionaries games = [shortcut for shortcut in shortcuts['shortcuts'].values()] - for game in games: - # Skip if 'appname' or 'exe' is None - if game.get('appname') is None or game.get('exe') is None: - continue + # Open the output file in write mode ('w') + with open('output.json', 'w') as outfile: + for game in games: + # Skip if 'appname' or 'exe' is None + if game.get('appname') is None or game.get('exe') is None: + continue - # Create a dictionary to hold the shortcut information - shortcut_info = { - 'appid': str(game.get('appid')), - 'appname': game.get('appname'), - 'exe': game.get('exe'), - 'StartDir': game.get('StartDir'), - 'icon': f"{logged_in_home}/.steam/root/userdata/{steamid3}/config/grid/{get_file_name('icons', game.get('appid'))}", - 'LaunchOptions': game.get('LaunchOptions'), - 'GameID': game.get('GameID', "default_game_id") # Use a default value if game_id is not defined - } + # Create a dictionary to hold the shortcut information + shortcut_info = { + 'appid': str(game.get('appid')), + 'appname': game.get('appname'), + 'exe': game.get('exe'), + 'StartDir': game.get('StartDir'), + 'icon': f"{logged_in_home}/.steam/root/userdata/{steamid3}/config/grid/{get_file_name('icons', game.get('appid'))}", + 'LaunchOptions': game.get('LaunchOptions'), + 'GameID': game.get('GameID', "default_game_id") # Use a default value if game_id is not defined + } - # Print the shortcut information in JSON format - message = json.dumps(shortcut_info) - print(message, flush=True) # Print to stdout + # Convert the shortcut information to JSON format + message = json.dumps(shortcut_info) -print("All finished!") + # Write the JSON output to the file + outfile.write(message + '\n') # Add a newline character after each game + + print("All finished!")