This commit is contained in:
parent
0c884e01cf
commit
84571f1692
4 changed files with 68 additions and 12 deletions
|
@ -105,6 +105,22 @@ class DockgeConnection:
|
||||||
ret = self._sio.call("agent", ("", "restartStack", name), timeout=10)
|
ret = self._sio.call("agent", ("", "restartStack", name), timeout=10)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def update(self, name):
|
||||||
|
ret = self._sio.call("agent", ("", "updateStack", name), timeout=10)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def stop(self, name):
|
||||||
|
ret = self._sio.call("agent", ("", "stopStack", name), timeout=10)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def start(self, name):
|
||||||
|
ret = self._sio.call("agent", ("", "startStack", name), timeout=10)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def down(self, name):
|
||||||
|
ret = self._sio.call("agent", ("", "downStack", name), timeout=10)
|
||||||
|
return ret
|
||||||
|
|
||||||
def disconnect(self):
|
def disconnect(self):
|
||||||
self._sio.emit("logout")
|
self._sio.emit("logout")
|
||||||
self._sio.disconnect()
|
self._sio.disconnect()
|
||||||
|
|
|
@ -2,10 +2,15 @@ from getpass import getpass
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
from . import storage
|
from . import storage
|
||||||
from .utils import display_help, stack_formatter, status_formatter, restart_formatter
|
from .utils import display_help, stack_formatter, status_formatter, generic_formatter
|
||||||
from .parser import Credentials, credentialparser
|
from .parser import Credentials, credentialparser
|
||||||
from .communicate import DockgeConnection
|
from .communicate import DockgeConnection
|
||||||
|
|
||||||
|
def setup():
|
||||||
|
con = DockgeConnection()
|
||||||
|
con.connect_and_login()
|
||||||
|
return con
|
||||||
|
|
||||||
def exec_command(command, extra_args):
|
def exec_command(command, extra_args):
|
||||||
match command:
|
match command:
|
||||||
case "help":
|
case "help":
|
||||||
|
@ -33,27 +38,47 @@ def exec_command(command, extra_args):
|
||||||
case "exit":
|
case "exit":
|
||||||
storage.clear()
|
storage.clear()
|
||||||
case "list":
|
case "list":
|
||||||
con = DockgeConnection()
|
con = setup()
|
||||||
con.connect_and_login()
|
|
||||||
stack_formatter(con.list_stacks())
|
stack_formatter(con.list_stacks())
|
||||||
con.disconnect()
|
con.disconnect()
|
||||||
case "status":
|
case "status":
|
||||||
if extra_args is None:
|
if extra_args is None:
|
||||||
raise ValueError
|
raise ValueError
|
||||||
con = DockgeConnection()
|
con = setup()
|
||||||
con.connect_and_login()
|
|
||||||
status_formatter(con.list_stack(extra_args[0]))
|
status_formatter(con.list_stack(extra_args[0]))
|
||||||
con.disconnect()
|
con.disconnect()
|
||||||
case "restart":
|
case "restart":
|
||||||
if extra_args is None:
|
if extra_args is None:
|
||||||
raise ValueError
|
raise ValueError
|
||||||
con = DockgeConnection()
|
con = setup()
|
||||||
con.connect_and_login()
|
generic_formatter(con.restart(extra_args[0]))
|
||||||
restart_formatter(con.restart(extra_args[0]))
|
con.disconnect()
|
||||||
|
case "update":
|
||||||
|
if extra_args is None:
|
||||||
|
raise ValueError
|
||||||
|
con = setup()
|
||||||
|
generic_formatter(con.update(extra_args[0]))
|
||||||
|
con.disconnect()
|
||||||
|
case "stop":
|
||||||
|
if extra_args is None:
|
||||||
|
raise ValueError
|
||||||
|
con = setup()
|
||||||
|
generic_formatter(con.stop(extra_args[0]))
|
||||||
|
con.disconnect()
|
||||||
|
case "start":
|
||||||
|
if extra_args is None:
|
||||||
|
raise ValueError
|
||||||
|
con = setup()
|
||||||
|
generic_formatter(con.start(extra_args[0]))
|
||||||
|
con.disconnect()
|
||||||
|
case "down":
|
||||||
|
if extra_args is None:
|
||||||
|
raise ValueError
|
||||||
|
con = setup()
|
||||||
|
generic_formatter(con.down(extra_args[0]))
|
||||||
con.disconnect()
|
con.disconnect()
|
||||||
case "debug":
|
case "debug":
|
||||||
con = DockgeConnection()
|
con = setup()
|
||||||
con.connect_and_login()
|
|
||||||
stack_formatter(con.list_stacks())
|
stack_formatter(con.list_stacks())
|
||||||
print("fgo-ta-com", con.list_stack("fgo-ta-com"))
|
print("fgo-ta-com", con.list_stack("fgo-ta-com"))
|
||||||
con.disconnect()
|
con.disconnect()
|
||||||
|
|
|
@ -25,6 +25,6 @@ def status_formatter(status):
|
||||||
table = [[k, v] for k, v in status["serviceStatusList"].items()]
|
table = [[k, v] for k, v in status["serviceStatusList"].items()]
|
||||||
print(tabulate(table, headers=headers, tablefmt="github"), "\n")
|
print(tabulate(table, headers=headers, tablefmt="github"), "\n")
|
||||||
|
|
||||||
def restart_formatter(status):
|
def generic_formatter(status):
|
||||||
print(f"Is Ok? {'Yes' if status['ok'] else 'No'}")
|
print(f"Is Ok? {'Yes' if status['ok'] else 'No'}")
|
||||||
print(f"Stack status: {status['msg']}")
|
print(f"Stack status: {status['msg']}")
|
||||||
|
|
|
@ -34,6 +34,21 @@ cmd_restart = CommandListing(
|
||||||
description="Restarts a given stack",
|
description="Restarts a given stack",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cmd_start = CommandListing(
|
||||||
|
command="start",
|
||||||
|
description="Starts a given stack",
|
||||||
|
)
|
||||||
|
|
||||||
|
cmd_stop = CommandListing(
|
||||||
|
command="stop",
|
||||||
|
description="Stops a given stack",
|
||||||
|
)
|
||||||
|
|
||||||
|
cmd_down = CommandListing(
|
||||||
|
command="down",
|
||||||
|
description="Stop & Downs a given stack",
|
||||||
|
)
|
||||||
|
|
||||||
cmd_update = CommandListing(
|
cmd_update = CommandListing(
|
||||||
command="update",
|
command="update",
|
||||||
description="Updates a stack",
|
description="Updates a stack",
|
||||||
|
@ -54,5 +69,5 @@ cmd_help = CommandListing(
|
||||||
description="Displays helping hints for commands",
|
description="Displays helping hints for commands",
|
||||||
)
|
)
|
||||||
|
|
||||||
commandlist = [cmd_host, cmd_login, cmd_logout, cmd_list, cmd_restart, cmd_update, cmd_exit, cmd_debug, cmd_help, cmd_status]
|
commandlist = [cmd_host, cmd_login, cmd_logout, cmd_list, cmd_restart, cmd_update, cmd_exit, cmd_debug, cmd_help, cmd_status, cmd_start, cmd_stop, cmd_down]
|
||||||
commands = { k.command: k for k in commandlist }
|
commands = { k.command: k for k in commandlist }
|
||||||
|
|
Loading…
Reference in a new issue