mirror of
https://github.com/moraroy/NonSteamLaunchers-On-Steam-Deck.git
synced 2024-11-20 16:19:19 +01:00
added error handling
This commit is contained in:
parent
226beebf24
commit
5450cdc523
@ -181,9 +181,25 @@ grid64 = ""
|
|||||||
logo64 = ""
|
logo64 = ""
|
||||||
hero64 = ""
|
hero64 = ""
|
||||||
|
|
||||||
# Load the existing shortcuts
|
# Define the path to the shortcuts file
|
||||||
with open(f"{logged_in_home}/.steam/root/userdata/{steamid3}/config/shortcuts.vdf", 'rb') as file:
|
shortcuts_file = f"{logged_in_home}/.steam/root/userdata/{steamid3}/config/shortcuts.vdf"
|
||||||
|
|
||||||
|
# Check if the shortcuts file exists
|
||||||
|
if not os.path.exists(shortcuts_file):
|
||||||
|
# If the file does not exist, create a new file with an empty "shortcuts" section
|
||||||
|
with open(shortcuts_file, 'wb') as file:
|
||||||
|
vdf.binary_dumps({'shortcuts': {}}, file)
|
||||||
|
else:
|
||||||
|
# If the file exists, try to load it
|
||||||
|
try:
|
||||||
|
with open(shortcuts_file, 'rb') as file:
|
||||||
shortcuts = vdf.binary_loads(file.read())
|
shortcuts = vdf.binary_loads(file.read())
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error reading shortcuts file: {e}")
|
||||||
|
# If an error occurs when reading the file, create a new file with an empty "shortcuts" section
|
||||||
|
with open(shortcuts_file, 'wb') as file:
|
||||||
|
vdf.binary_dumps({'shortcuts': {}}, file)
|
||||||
|
|
||||||
# Open the config.vdf file
|
# Open the config.vdf file
|
||||||
with open(f"{logged_in_home}/.steam/root/config/config.vdf", 'r') as file:
|
with open(f"{logged_in_home}/.steam/root/config/config.vdf", 'r') as file:
|
||||||
config_data = vdf.load(file)
|
config_data = vdf.load(file)
|
||||||
@ -1039,10 +1055,16 @@ for game in games:
|
|||||||
if new_shortcuts_added or shortcuts_updated:
|
if new_shortcuts_added or shortcuts_updated:
|
||||||
print(f"Saving new config and shortcuts files")
|
print(f"Saving new config and shortcuts files")
|
||||||
conf = vdf.dumps(config_data, pretty=True)
|
conf = vdf.dumps(config_data, pretty=True)
|
||||||
|
try:
|
||||||
with open(f"{logged_in_home}/.steam/root/config/config.vdf", 'w') as file:
|
with open(f"{logged_in_home}/.steam/root/config/config.vdf", 'w') as file:
|
||||||
file.write(conf)
|
file.write(conf)
|
||||||
|
except IOError as e:
|
||||||
|
print(f"Error writing to config.vdf: {e}")
|
||||||
|
try:
|
||||||
with open(f"{logged_in_home}/.steam/root/userdata/{steamid3}/config/shortcuts.vdf", 'wb') as file:
|
with open(f"{logged_in_home}/.steam/root/userdata/{steamid3}/config/shortcuts.vdf", 'wb') as file:
|
||||||
file.write(vdf.binary_dumps(shortcuts))
|
file.write(vdf.binary_dumps(shortcuts))
|
||||||
|
except IOError as e:
|
||||||
|
print(f"Error writing to shortcuts.vdf: {e}")
|
||||||
|
|
||||||
# Print the created shortcuts
|
# Print the created shortcuts
|
||||||
if created_shortcuts:
|
if created_shortcuts:
|
||||||
@ -1053,6 +1075,7 @@ if new_shortcuts_added or shortcuts_updated:
|
|||||||
# Create the path to the output file
|
# Create the path to the output file
|
||||||
output_file_path = f"{logged_in_home}/.config/systemd/user/NSLGameScanner_output.log"
|
output_file_path = f"{logged_in_home}/.config/systemd/user/NSLGameScanner_output.log"
|
||||||
# Open the output file in write mode
|
# Open the output file in write mode
|
||||||
|
try:
|
||||||
with open(output_file_path, 'w') as output_file:
|
with open(output_file_path, 'w') as output_file:
|
||||||
for game in decky_shortcuts.values():
|
for game in decky_shortcuts.values():
|
||||||
# Skip if 'appname' or 'exe' is None
|
# Skip if 'appname' or 'exe' is None
|
||||||
@ -1079,5 +1102,8 @@ if new_shortcuts_added or shortcuts_updated:
|
|||||||
|
|
||||||
# Print the shortcut information to the output file
|
# Print the shortcut information to the output file
|
||||||
print(message, file=output_file, flush=True)
|
print(message, file=output_file, flush=True)
|
||||||
|
except IOError as e:
|
||||||
|
print(f"Error writing to output file: {e}")
|
||||||
|
|
||||||
print("All finished!")
|
print("All finished!")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user