#!/usr/bin/env python3 """ Pi-Kit API entrypoint Thin wrapper that defers to the modular `pikit_api` package. The behavior and CLI flags remain compatible with the previous single-file script: --apply-update Apply latest release (non-HTTP mode) --check-update Check for latest release (non-HTTP mode) --rollback-update Roll back to last backup (non-HTTP mode) """ import argparse import sys from pikit_api import HOST, PORT from pikit_api.releases import apply_update, check_for_update, rollback_update from pikit_api.server import run_server def parse_args(): parser = argparse.ArgumentParser(description="Pi-Kit API / updater") parser.add_argument("--apply-update", action="store_true", help="Apply latest release (non-HTTP mode)") parser.add_argument("--check-update", action="store_true", help="Check for latest release (non-HTTP mode)") parser.add_argument("--rollback-update", action="store_true", help="Rollback to last backup (non-HTTP mode)") parser.add_argument("--host", default=HOST, help="Bind host (default 127.0.0.1)") parser.add_argument("--port", type=int, default=PORT, help="Bind port (default 4000)") return parser.parse_args() def main(): args = parse_args() if args.apply_update: apply_update() return if args.check_update: check_for_update() return if args.rollback_update: rollback_update() return run_server(host=args.host, port=args.port) if __name__ == "__main__": try: main() except KeyboardInterrupt: sys.exit(0)