Sync from development - prepare for v0.1.6.4

This commit is contained in:
Omni
2025-10-24 20:12:21 +01:00
parent 956ea24465
commit 52806f4116
4 changed files with 29 additions and 6 deletions

View File

@@ -5,4 +5,4 @@ This package provides both CLI and GUI interfaces for managing
Wabbajack modlists natively on Linux systems.
"""
__version__ = "0.1.6.3"
__version__ = "0.1.6.4"

View File

@@ -1036,7 +1036,7 @@ class ShortcutHandler:
matched_shortcuts = []
if not self.shortcuts_path or not os.path.isfile(self.shortcuts_path):
self.logger.error(f"shortcuts.vdf path not found or invalid: {self.shortcuts_path}")
self.logger.info(f"No shortcuts.vdf file found at {self.shortcuts_path} - this is normal for new Steam installations")
return []
# Directly process the single shortcuts.vdf file found during init
@@ -1159,7 +1159,7 @@ class ShortcutHandler:
# --- Use the single shortcuts.vdf path found during init ---
if not self.shortcuts_path or not os.path.isfile(self.shortcuts_path):
self.logger.error(f"shortcuts.vdf path not found or invalid: {self.shortcuts_path}")
self.logger.info(f"No shortcuts.vdf file found at {self.shortcuts_path} - this is normal for new Steam installations")
return []
vdf_path = self.shortcuts_path

View File

@@ -33,7 +33,9 @@ class NativeSteamService:
self.steam_paths = [
Path.home() / ".steam" / "steam",
Path.home() / ".local" / "share" / "Steam",
Path.home() / ".var" / "app" / "com.valvesoftware.Steam" / ".local" / "share" / "Steam"
Path.home() / ".var" / "app" / "com.valvesoftware.Steam" / "data" / "Steam",
Path.home() / ".var" / "app" / "com.valvesoftware.Steam" / ".local" / "share" / "Steam",
Path.home() / ".var" / "app" / "com.valvesoftware.Steam" / "home" / ".local" / "share" / "Steam"
]
self.steam_path = None
self.userdata_path = None
@@ -54,8 +56,20 @@ class NativeSteamService:
# Step 2: Parse loginusers.vdf to get the most recent user (SteamID64)
steamid64 = self._get_most_recent_user_from_loginusers()
if not steamid64:
logger.error("Could not determine most recent Steam user from loginusers.vdf")
return False
logger.warning("Could not determine most recent Steam user from loginusers.vdf, trying fallback method")
# Fallback: Look for existing user directories in userdata
steamid3 = self._find_user_from_userdata_directory()
if steamid3:
logger.info(f"Found Steam user using userdata directory fallback: SteamID3={steamid3}")
# Skip the conversion step since we already have SteamID3
self.user_id = str(steamid3)
self.user_config_path = self.userdata_path / str(steamid3) / "config"
logger.info(f"Steam user set up via fallback: {self.user_id}")
logger.info(f"User config path: {self.user_config_path}")
return True
else:
logger.error("Could not determine Steam user using any method")
return False
# Step 3: Convert SteamID64 to SteamID3 (userdata directory format)
steamid3 = self._convert_steamid64_to_steamid3(steamid64)