copy file fallback on errors

frdel committed Feb 10, 2026 at 15:18 UTC 4fa70fcdfbe1d3fe18aec952b027b4ba3a13a040
1 file changed +10 -1
python/helpers/files.py
+10 -1
@@ -616,7 +616,16 @@ def move_file(relative_path: str, new_path: str):
616 abs_path = get_abs_path(relative_path)
617 new_abs_path = get_abs_path(new_path)
618 os.makedirs(os.path.dirname(new_abs_path), exist_ok=True)
619 - os.rename(abs_path, new_abs_path)
619 + try:
620 + os.rename(abs_path, new_abs_path)
621 + except OSError:
622 + # fallback to copy and delete
623 + import shutil
624 + shutil.copy2(abs_path, new_abs_path)
625 + try:
626 + os.unlink(abs_path)
627 + except OSError:
628 + pass
629
630
631 def safe_file_name(filename: str) -> str: