44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
import argparse
|
|
from services.odoo.service import OdooServiceManager
|
|
|
|
|
|
def service(args):
|
|
service = OdooServiceManager()
|
|
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"
|
|
)
|
|
|
|
start_parser = subparsers.add_parser("service", help="Start a service")
|
|
start_parser.add_argument("action", type=str, help="start/stop/restart")
|
|
start_parser.add_argument("service", type=str, help="Name of the service")
|
|
start_parser.set_defaults(func=service)
|
|
|
|
return parser
|
|
|
|
|
|
def main():
|
|
parser = setup_cli()
|
|
args = parser.parse_args()
|
|
args.func(args)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|