Skip to content
Snippets Groups Projects
Commit 2d2be899 authored by Seblu's avatar Seblu
Browse files

Split shutdown and execute in separate files

parent e23af3bc
No related branches found
No related tags found
No related merge requests found
......@@ -8,15 +8,16 @@ CloudControl CLI Commands Package
# bunch of command
from cccli.command.account import *
from cccli.command.alias import *
from cccli.command.host import *
from cccli.command.right import *
from cccli.command.shell import *
from cccli.command.tag import *
from cccli.command.vm import *
# by command module
from cccli.command.execute import Command_execute
from cccli.command.expert import Command_expert
from cccli.command.kill import Command_kill
from cccli.command.list import Command_list
from cccli.command.server import Command_server
from cccli.command.shutdown import Command_shutdown
from cccli.command.tagdisplay import Command_tagdisplay
'''
CloudControl execute command
'''
from cccli.exception import *
from sjrpc.core.exceptions import *
from cccli.printer import Printer, color
from cccli.command.command import TqlCommand
class Command_execute(TqlCommand):
'''Execute a command on the remote host'''
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.set_usage("%prog [options] <tql> <command>")
self.tql_filter += "&con&r~'host|hv'"
def __call__(self, argv):
# arg parse
self.parse_args(argv)
if len(self.args) != 2:
raise cmdBadArgument()
# rpc call
self.rpccall("execute", self.args[0], self.args[1], _callback=self._cb_print_output)
def _cb_print_output(self, d):
'''Print output of execute by object'''
for o in d["objects"]:
self.printer.out("%sid:%s%s%s output:"%(self.tdtc("id"), self.tdc("id"),
o["id"], color["reset"]))
self.printer.out(o.get("output", ""), nl="")
......@@ -8,29 +8,6 @@ from sjrpc.core.exceptions import *
from cccli.printer import Printer, color
from cccli.command.command import TqlCommand
class Command_execute(TqlCommand):
'''Execute a command on the remote host'''
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.set_usage("%prog [options] <tql> <command>")
self.tql_filter += "&con&r~'host|hv'"
def __call__(self, argv):
# arg parse
self.parse_args(argv)
if len(self.args) != 2:
raise cmdBadArgument()
# rpc call
self.rpccall("execute", self.args[0], self.args[1], _callback=self._cb_print_output)
def _cb_print_output(self, d):
'''Print output of execute by object'''
for o in d["objects"]:
self.printer.out("%sid:%s%s%s output:"%(self.tdtc("id"), self.tdc("id"),
o["id"], color["reset"]))
self.printer.out(o.get("output", ""), nl="")
class Command_shutdown(TqlCommand):
'''Shutdown a physical host'''
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment