Skip to content
Snippets Groups Projects
Commit 01c4b4d8 authored by Seblu's avatar Seblu
Browse files

Alias now use OptionCOmmand

parent 2672fc83
No related branches found
No related tags found
No related merge requests found
...@@ -6,39 +6,57 @@ CloudControl alias related command ...@@ -6,39 +6,57 @@ CloudControl alias related command
''' '''
from cccli.exception import * 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''' '''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): def __call__(self, argv):
if len(argv) == 1: # args parse
for n, v in self.cli.alias.items(): self.parse_args(argv)
self.printer.out("%s=%s"%(n, v)) _value = None
elif len(argv) == 2: if len(self.args) == 0:
if argv[1] not in self.cli.alias: _alias = self.cli.alias.keys()
raise cmdBadArgument(argv[1]) elif len(self.args) == 1:
self.printer.out("%s=%s"%(argv[1], self.cli.alias[argv[1]])) _alias = self.args[0]
elif len(argv) == 3: elif len(self.args) == 2:
self.cli.alias[argv[1]] = argv[2] _alias = self.args[0]
self.cli.alias.save(self.cli.settings.get("alias", "")) _value = self.args[1]
else: else:
raise cmdBadArgument() raise cmdBadArgument()
# printing
def usage(self): if _value is None:
return "Usage: alias [name] [value]" 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''' '''Remove an alias'''
def __init__(self, cli, argv0):
OptionCommand.__init__(self, cli, argv0)
self.set_usage("%prog [options] [name]")
def __call__(self, argv): def __call__(self, argv):
if len(argv) != 2: # parse args
self.parse_args(argv)
if len(self.args) != 1:
raise cmdBadArgument() raise cmdBadArgument()
if argv[1] not in self.cli.alias: # check alias existance
raise cmdBadArgument("%s: No such alias"%argv[1]) if self.args[0] not in self.cli.alias:
del self.cli.alias[argv[1]] 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", "")) self.cli.alias.save(self.cli.settings.get("alias", ""))
def usage(self):
return "Usage: unalias [name]"
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