fix: only unlink stale links

This commit is contained in:
aclist 2026-01-01 20:22:35 +09:00
parent dc310593d0
commit 645682ee06

View File

@ -15,14 +15,18 @@ def rebuild_symlinks(config: Path) -> None:
steam_path = Path(path)
dayz_path = PeFile.get_nested_app_path(steam_path, APPID_DAYZ)
# NOTE: unlink stale symlinks
for file in dayz_path.iterdir():
if file.is_symlink():
if file.is_symlink() and file.exists() is False:
file.unlink()
workshop = get_local_mod_path(steam_path)
for uid in get_local_mod_ids(steam_path):
uid = str(uid)
# NOTE: create symlinks for missing mods
for mod_id in get_local_mod_ids(steam_path):
uid = str(mod_id)
md5sum = _hash(str(uid))
Path(dayz_path / md5sum).symlink_to(workshop / uid)
source = Path(dayz_path / md5sum)
if source.exists() is False:
source.symlink_to(workshop / uid)
def clone_symlinks(config: Path) -> None:
@ -39,6 +43,7 @@ def clone_symlinks(config: Path) -> None:
return
# TODO: test these two operations
# use less time intensive logic like the above
for file in exp_path.iterdir():
if file.is_symlink():
file.unlink()