Initial commit: MISF VOB download and upload automation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
c2dec96b1f
43 files changed
+10944
No files matched your search
+53
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
MISF VOB Download — production entry (PyInstaller / double-click).
|
||||
|
||||
Config, Input/, and Output/ live in the same folder as the .exe.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import sys
|
||||
import traceback
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parent
|
||||
SRC = ROOT / "src"
|
||||
if not getattr(sys, "frozen", False) and str(SRC) not in sys.path:
|
||||
sys.path.insert(0, str(SRC))
|
||||
|
||||
from planner_download import build_arg_parser, run_download_workflow # noqa: E402
|
||||
|
||||
|
||||
def _run_workflow() -> int:
|
||||
exit_code = 0
|
||||
try:
|
||||
args = build_arg_parser().parse_args()
|
||||
run_download_workflow(
|
||||
facility_limit=max(0, args.limit),
|
||||
facility_name=args.facility.strip() or None,
|
||||
resume=args.resume,
|
||||
keep_browser=args.keep_browser,
|
||||
screenshot_on_error=args.screenshot and not args.no_screenshot,
|
||||
)
|
||||
except KeyboardInterrupt:
|
||||
print("\nCancelled by user.")
|
||||
exit_code = 130
|
||||
except SystemExit as exc:
|
||||
exit_code = int(exc.code) if exc.code is not None else 0
|
||||
except Exception:
|
||||
traceback.print_exc()
|
||||
exit_code = 1
|
||||
return exit_code
|
||||
|
||||
|
||||
def main() -> int:
|
||||
if getattr(sys, "frozen", False):
|
||||
from log_window import run_with_live_logs
|
||||
|
||||
return run_with_live_logs(_run_workflow)
|
||||
return _run_workflow()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in new issue
Block a user