import argparse from services.odoo.service import OdooServiceManager def service(args): service = OdooServiceManager(config_path="utility/config/settings.yaml") match args.action: case "start": service.start_service(args.service) case "stop": service.stop_service(args.service) case "restart": service.restart_service(args.service) case _: print("Invalid action") def setup_cli(): parser = argparse.ArgumentParser(description="Service Manager CLI") parser.add_argument( "-v", "--verbose", action="store_true", help="Enable verbose mode" ) subparsers = parser.add_subparsers( dest="command", required=True, help="Available commands" ) service_parser = subparsers.add_parser("service", help="Manage instance service") service_parser.add_argument("action", type=str, help="start/stop/restart") service_parser.add_argument("service", type=str, help="Name of the service") service_parser.set_defaults(func=service) return parser def main(): parser = setup_cli() args = parser.parse_args() args.func(args) if __name__ == "__main__": main()