#!/usr/bin/env python3 """Scan rclone remotes for duplicate JAV files grouped by ID. This file is a thin shim. All implementation lives in the `rcjav` package; `rcjav.cli.main` is the real entrypoint. Names that external consumers (tests, fixtures runner, native-messaging host) historically imported from this script remain available via the wildcard re-export from `rcjav/__init__.py`. """ from __future__ import annotations import sys # Re-export the public surface so `importlib.spec_from_file_location("rcjav_script", "rc-jav.py")` # style loaders still find FileEntry, extract_id, decide_keep_with_reason, etc. via attribute access. from rcjav import * # noqa: F401,F403 from rcjav.cli import main if __name__ == "__main__": try: main() except KeyboardInterrupt: sys.stderr.write("\nAborted by user (Ctrl+C). Cache not written for in-flight scans.\n") sys.exit(130)