Spaces:
Running on Zero
Running on Zero
Download src/solarwm/runtime/create_only.py from hugging-apps/solarrenderer: direct link, hf CLI and curl.
- Browser
- Download file 5.73 kB
-
https://huggingface.co/spaces/hugging-apps/solarrenderer/resolve/main/src/solarwm/runtime/create_only.py
- Command line
-
hf download hf://spaces/hugging-apps/solarrenderer/src/solarwm/runtime/create_only.py
-
curl -L -o create_only.py https://huggingface.co/spaces/hugging-apps/solarrenderer/resolve/main/src/solarwm/runtime/create_only.py
5.73 kB
| """Atomic create-only directory publication for local staging trees.""" | |
| from __future__ import annotations | |
| import ctypes | |
| import errno | |
| import fcntl | |
| import os | |
| import stat | |
| import uuid | |
| from pathlib import Path | |
| def _raise(error_type: type[Exception], message: str) -> None: | |
| raise error_type(message) | |
| def _rename_no_replace( | |
| source: Path, | |
| destination: Path, | |
| *, | |
| error_type: type[Exception], | |
| label: str, | |
| ) -> None: | |
| """Call Linux renameat2 with RENAME_NOREPLACE and no unsafe fallback.""" | |
| libc = ctypes.CDLL(None, use_errno=True) | |
| renameat2 = getattr(libc, "renameat2", None) | |
| if renameat2 is None: | |
| _raise( | |
| error_type, | |
| f"{label} requires Linux renameat2(RENAME_NOREPLACE)", | |
| ) | |
| renameat2.argtypes = ( | |
| ctypes.c_int, | |
| ctypes.c_char_p, | |
| ctypes.c_int, | |
| ctypes.c_char_p, | |
| ctypes.c_uint, | |
| ) | |
| renameat2.restype = ctypes.c_int | |
| result = renameat2( | |
| -100, # AT_FDCWD | |
| os.fsencode(source), | |
| -100, | |
| os.fsencode(destination), | |
| 1, # RENAME_NOREPLACE | |
| ) | |
| if result == 0: | |
| return | |
| error = ctypes.get_errno() | |
| if error in {errno.EEXIST, errno.ENOTEMPTY}: | |
| _raise(error_type, f"{label} target appeared during publication: {destination}") | |
| _raise(error_type, f"{label} create-only publication failed: {os.strerror(error)}") | |
| def publish_directory_no_replace( | |
| source: str | Path, | |
| destination: str | Path, | |
| *, | |
| error_type: type[Exception], | |
| label: str, | |
| ) -> None: | |
| """Publish one sibling staging directory without replacing any target. | |
| The parent advisory lock serializes cooperating writers. Linux | |
| ``RENAME_NOREPLACE`` is still mandatory so an uncooperative writer racing | |
| after the check cannot be overwritten. | |
| """ | |
| raw_staging = Path(source).expanduser() | |
| raw_target = Path(destination).expanduser() | |
| staging = raw_staging.parent.resolve() / raw_staging.name | |
| target = raw_target.parent.resolve() / raw_target.name | |
| if not staging.is_dir() or staging.is_symlink(): | |
| _raise(error_type, f"{label} staging directory is missing or is a symlink") | |
| if staging.parent != target.parent: | |
| _raise(error_type, f"{label} staging and target must be siblings") | |
| lock_path = target.parent / ".solarwm-directory-publication.lock" | |
| with lock_path.open("a+b") as lock: | |
| fcntl.flock(lock.fileno(), fcntl.LOCK_EX) | |
| try: | |
| _rename_no_replace( | |
| staging, | |
| target, | |
| error_type=error_type, | |
| label=label, | |
| ) | |
| directory_fd = os.open(target.parent, os.O_RDONLY) | |
| try: | |
| os.fsync(directory_fd) | |
| finally: | |
| os.close(directory_fd) | |
| finally: | |
| fcntl.flock(lock.fileno(), fcntl.LOCK_UN) | |
| def write_file_create_only( | |
| path: str | Path, | |
| payload: bytes, | |
| *, | |
| error_type: type[Exception], | |
| label: str, | |
| mode: int = 0o644, | |
| ) -> None: | |
| """Atomically create one immutable file without replacing a race winner. | |
| The payload is fsynced under a private sibling name, then hard-linked to | |
| the public name. ``link(2)`` is the commit point and fails when the target | |
| already exists; unlike ``os.replace`` it can never overwrite a prior artifact. | |
| """ | |
| destination = Path(path).expanduser() | |
| destination.parent.mkdir(parents=True, exist_ok=True) | |
| temporary = destination.with_name(f".{destination.name}.{uuid.uuid4().hex}.partial") | |
| descriptor: int | None = None | |
| try: | |
| descriptor = os.open(temporary, os.O_WRONLY | os.O_CREAT | os.O_EXCL, mode) | |
| view = memoryview(payload) | |
| while view: | |
| written = os.write(descriptor, view) | |
| if written <= 0: | |
| _raise(error_type, f"{label} made no progress while writing {temporary}") | |
| view = view[written:] | |
| os.fsync(descriptor) | |
| os.close(descriptor) | |
| descriptor = None | |
| try: | |
| os.link(temporary, destination) | |
| except FileExistsError: | |
| _raise(error_type, f"{label} already exists: {destination}") | |
| temporary.unlink() | |
| directory_fd = os.open(destination.parent, os.O_RDONLY) | |
| try: | |
| os.fsync(directory_fd) | |
| finally: | |
| os.close(directory_fd) | |
| finally: | |
| if descriptor is not None: | |
| os.close(descriptor) | |
| temporary.unlink(missing_ok=True) | |
| def link_file_create_only( | |
| source: str | Path, | |
| destination: str | Path, | |
| *, | |
| error_type: type[Exception], | |
| label: str, | |
| ) -> None: | |
| """Atomically publish an existing immutable file without copying its bytes.""" | |
| source_path = Path(source).expanduser() | |
| target = Path(destination).expanduser() | |
| try: | |
| source_stat = source_path.stat(follow_symlinks=False) | |
| except OSError as exc: | |
| _raise(error_type, f"{label} source is not readable: {source_path}: {exc}") | |
| if not stat.S_ISREG(source_stat.st_mode) or source_path.is_symlink(): | |
| _raise(error_type, f"{label} source must be a regular non-symlink file: {source_path}") | |
| target.parent.mkdir(parents=True, exist_ok=True) | |
| try: | |
| os.link(source_path, target, follow_symlinks=False) | |
| except FileExistsError: | |
| _raise(error_type, f"{label} already exists: {target}") | |
| except OSError as exc: | |
| _raise(error_type, f"{label} create-only link failed: {exc}") | |
| directory_fd = os.open(target.parent, os.O_RDONLY) | |
| try: | |
| os.fsync(directory_fd) | |
| finally: | |
| os.close(directory_fd) | |
| __all__ = [ | |
| "link_file_create_only", | |
| "publish_directory_no_replace", | |
| "write_file_create_only", | |
| ] | |