update
This commit is contained in:
parent
9001a02c59
commit
8ac2ca2ee8
43
cli.py
Normal file
43
cli.py
Normal file
@ -0,0 +1,43 @@
|
||||
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()
|
21
main.py
21
main.py
@ -1,21 +1,4 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys
|
||||
import os
|
||||
import argparse
|
||||
from services.odoo.service import OdooServiceManager
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Restart Odoo Service",
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
)
|
||||
parser.add_argument("instance", help="Instance name")
|
||||
args = parser.parse_args()
|
||||
service = OdooServiceManager(config_path="utility/config/settings.yaml")
|
||||
service.restart_service(args.instance)
|
||||
sys.exit(0)
|
||||
|
||||
import cli
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
cli.main()
|
@ -71,3 +71,7 @@ class OdooServiceManager:
|
||||
def restart_service(self, instance_name=None):
|
||||
"""Restart the Odoo service based on the instance type"""
|
||||
self.manage_service("restart", instance_name)
|
||||
|
||||
def start_service(self, instance_name=None):
|
||||
"""Start the Odoo service based on the instance type"""
|
||||
self.manage_service("start", instance_name)
|
||||
|
Loading…
Reference in New Issue
Block a user