Loading cccli/command/alias.py +41 −23 Original line number Diff line number Diff line Loading @@ -6,39 +6,57 @@ CloudControl alias related command ''' from cccli.exception import * from cccli.command.command import Command from cccli.command.command import OptionCommand import re class Command_alias(Command): class Command_alias(OptionCommand): '''Show or create alias''' def __init__(self, cli, argv0): OptionCommand.__init__(self, cli, argv0) self.set_usage("%prog [options] [name] [value]") def __call__(self, argv): if len(argv) == 1: for n, v in self.cli.alias.items(): self.printer.out("%s=%s"%(n, v)) elif len(argv) == 2: if argv[1] not in self.cli.alias: raise cmdBadArgument(argv[1]) self.printer.out("%s=%s"%(argv[1], self.cli.alias[argv[1]])) elif len(argv) == 3: self.cli.alias[argv[1]] = argv[2] self.cli.alias.save(self.cli.settings.get("alias", "")) # args parse self.parse_args(argv) _value = None if len(self.args) == 0: _alias = self.cli.alias.keys() elif len(self.args) == 1: _alias = self.args[0] elif len(self.args) == 2: _alias = self.args[0] _value = self.args[1] else: raise cmdBadArgument() def usage(self): return "Usage: alias [name] [value]" # printing if _value is None: for a in _alias: if a in self.cli.alias: self.printer.out("%s \"%s\""%(a, re.sub("\"", "\\\"", self.cli.alias[a]))) else: self.printer.warn("No alias %s"%a) # editing else: self.cli.alias[_alias] = _value self.cli.alias.save(self.cli.settings.get("alias", "")) class Command_unalias(Command): class Command_unalias(OptionCommand): '''Remove an alias''' def __init__(self, cli, argv0): OptionCommand.__init__(self, cli, argv0) self.set_usage("%prog [options] [name]") def __call__(self, argv): if len(argv) != 2: # parse args self.parse_args(argv) if len(self.args) != 1: raise cmdBadArgument() if argv[1] not in self.cli.alias: raise cmdBadArgument("%s: No such alias"%argv[1]) del self.cli.alias[argv[1]] # check alias existance if self.args[0] not in self.cli.alias: raise cmdBadArgument("%s: No such alias"%self.args[0]) # deleting aliases del self.cli.alias[self.args[0]] self.cli.alias.save(self.cli.settings.get("alias", "")) def usage(self): return "Usage: unalias [name]" Loading
cccli/command/alias.py +41 −23 Original line number Diff line number Diff line Loading @@ -6,39 +6,57 @@ CloudControl alias related command ''' from cccli.exception import * from cccli.command.command import Command from cccli.command.command import OptionCommand import re class Command_alias(Command): class Command_alias(OptionCommand): '''Show or create alias''' def __init__(self, cli, argv0): OptionCommand.__init__(self, cli, argv0) self.set_usage("%prog [options] [name] [value]") def __call__(self, argv): if len(argv) == 1: for n, v in self.cli.alias.items(): self.printer.out("%s=%s"%(n, v)) elif len(argv) == 2: if argv[1] not in self.cli.alias: raise cmdBadArgument(argv[1]) self.printer.out("%s=%s"%(argv[1], self.cli.alias[argv[1]])) elif len(argv) == 3: self.cli.alias[argv[1]] = argv[2] self.cli.alias.save(self.cli.settings.get("alias", "")) # args parse self.parse_args(argv) _value = None if len(self.args) == 0: _alias = self.cli.alias.keys() elif len(self.args) == 1: _alias = self.args[0] elif len(self.args) == 2: _alias = self.args[0] _value = self.args[1] else: raise cmdBadArgument() def usage(self): return "Usage: alias [name] [value]" # printing if _value is None: for a in _alias: if a in self.cli.alias: self.printer.out("%s \"%s\""%(a, re.sub("\"", "\\\"", self.cli.alias[a]))) else: self.printer.warn("No alias %s"%a) # editing else: self.cli.alias[_alias] = _value self.cli.alias.save(self.cli.settings.get("alias", "")) class Command_unalias(Command): class Command_unalias(OptionCommand): '''Remove an alias''' def __init__(self, cli, argv0): OptionCommand.__init__(self, cli, argv0) self.set_usage("%prog [options] [name]") def __call__(self, argv): if len(argv) != 2: # parse args self.parse_args(argv) if len(self.args) != 1: raise cmdBadArgument() if argv[1] not in self.cli.alias: raise cmdBadArgument("%s: No such alias"%argv[1]) del self.cli.alias[argv[1]] # check alias existance if self.args[0] not in self.cli.alias: raise cmdBadArgument("%s: No such alias"%self.args[0]) # deleting aliases del self.cli.alias[self.args[0]] self.cli.alias.save(self.cli.settings.get("alias", "")) def usage(self): return "Usage: unalias [name]"