Newer
Older
#!/usr/bin/env python
#coding=utf8
'''
CloudControl alias related command
'''
from cccli.exception import *
from cccli.command.command import OptionCommand
import re
def __init__(self, cli, argv0):
OptionCommand.__init__(self, cli, argv0)
self.set_usage("%prog [options] [name] [value]")
# 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]
# 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", ""))
def __init__(self, cli, argv0):
OptionCommand.__init__(self, cli, argv0)
self.set_usage("%prog [options] [name]")
# parse args
self.parse_args(argv)
if len(self.args) != 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", ""))