From 16fd9002718f397cb430f19dc0f8c7ae8a4ff43e Mon Sep 17 00:00:00 2001 From: Codex Date: Sun, 13 Sep 2026 22:19:00 -0300 Subject: [PATCH] fix: expose safe import move errors --- ingestion/guided_imports.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ingestion/guided_imports.py b/ingestion/guided_imports.py index 435cf11..d5f8e83 100644 --- a/ingestion/guided_imports.py +++ b/ingestion/guided_imports.py @@ -162,14 +162,14 @@ def _rename_without_replacement(name: str, source_fd: int, destination_fd: int) # The supported Docker runtime is Linux. Fail closed if atomic no-replace # rename is unavailable instead of falling back to a check-then-replace race. try: - rename = ctypes.CDLL(None, use_errno=True).renameat2 + rename = ctypes.CDLL(None).renameat2 except AttributeError: raise ParseError("UNREADABLE_FILE") from None rename.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_int, ctypes.c_char_p, ctypes.c_uint] rename.restype = ctypes.c_int encoded_name = os.fsencode(name) if rename(source_fd, encoded_name, destination_fd, encoded_name, 1) != 0: # RENAME_NOREPLACE - raise OSError(ctypes.get_errno(), "Cannot move import source") + raise ParseError("UNREADABLE_FILE") def _move_file(name: str, source: str | None, destination: str | None, *, overwrite=False) -> None: