chore: simplify path concatenation logic

This commit is contained in:
aclist 2026-07-07 19:52:44 +09:00
parent b731fb5566
commit a2d1f9b0e1
4 changed files with 9 additions and 10 deletions

View File

@ -13,7 +13,6 @@ from dzgui.const.constants import (
APP_NAME,
APPID_DAYZ,
DAYZ_COMMUNITY_ROOT,
LIBRARYFOLDERS_PATH,
WORKSHOP_PATH,
)
@ -40,7 +39,7 @@ def get_local_mod_ids(steam_path: Path) -> list[int]:
def get_local_mod_path(steam_path: Path) -> Path:
p = get_app_path(steam_path / Path(LIBRARYFOLDERS_PATH), APPID_DAYZ)
p = get_app_path(steam_path, APPID_DAYZ)
workshop_path = p / WORKSHOP_PATH
return workshop_path

View File

@ -12,7 +12,6 @@ from dzgui.const.constants import (
APPNAME_DAYZ,
APPNAME_DAYZ_EXP,
DAYZ_BINARY,
LIBRARYFOLDERS_PATH,
)
from dzgui.api.steam import get_app_path
@ -400,7 +399,7 @@ def get_pefile_path(steam_path: Path, appid: int) -> Path:
name = identifier[appid]
binary = DAYZ_BINARY
app_path = get_app_path(steam_path / LIBRARYFOLDERS_PATH, appid)
app_path = get_app_path(steam_path, appid)
pe_path = app_path / f"steamapps/common/{name}/{binary}"
return pe_path

View File

@ -20,6 +20,7 @@ from dzgui.const.constants import (
DEBIAN_STEAM_PATH,
DEFAULT_STEAM_PATH,
FLATPAK_STEAM_PATH,
LIBRARYFOLDERS_PATH,
UBUNTU_STEAM_PATH,
REQUEST_TIMEOUT,
VDF_PATH,
@ -326,13 +327,13 @@ def get_running_app() -> int | None:
# TODO: write tests
def get_app_allows_downloads(path: Path, appid: int) -> bool:
root_path = get_app_path(Preferences.DEFAULT, appid)
acf = f"{root_path}/appmanifest_{aid}.acf"
root_path = get_app_path(path, appid)
acf = root_path.joinpath(f"steamapps/appmanifest_{appid}.acf")
flag = ACF(acf).get_allows_downloads()
match flag:
# NOTE: adheres to global client setting
case 0:
return get_client_allows_downloads(Preferences.DEFAULT)
return get_client_allows_downloads(path)
# NOTE: always allow
case 1:
return True
@ -371,7 +372,7 @@ def get_app_path(folders_path: Path, appid: int) -> Path:
app_path = None
try:
with open(folders_path) as f:
with open(folders_path / LIBRARYFOLDERS_PATH) as f:
folders = vdf.load(f)
except Exception:
raise VDFLoadError("Failed to parse libraryfolders")

View File

@ -4,7 +4,7 @@ from pathlib import Path
from dzgui.api.steam import get_app_path
from dzgui.config.query import lookup
from dzgui.const.constants import APPID_DAYZ, APP_NAME, LIBRARYFOLDERS_PATH
from dzgui.const.constants import APPID_DAYZ, APP_NAME
from dzgui.const.enum import Preferences
@ -14,7 +14,7 @@ logger = logging.getLogger(APP_NAME)
def is_dayz_installed(config: Path) -> None:
try:
path = lookup(config, Preferences.DEFAULT)
get_app_path(Path(path) / LIBRARYFOLDERS_PATH, APPID_DAYZ)
get_app_path(Path(path), APPID_DAYZ)
except Exception as e:
logger.critical(e)
raise e