fix: only unlink stale links

This commit is contained in:
aclist committed 2026-01-01 20:22:35 +09:00
1 parent dc310593d0
commit 645682ee06
1 file changed
+9 -4
+9 -4
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()