diff --git a/cccli/command/tag.py b/cccli/command/tag.py index f5b03f43c74513d4f4944183d1dc10267e4fafbc..4f85651d09dceb051c1cc30a3ace5971004dc26d 100644 --- a/cccli/command/tag.py +++ b/cccli/command/tag.py @@ -8,20 +8,23 @@ CloudControl tag releated commands from cccli.exception import * from sjrpc.core.exceptions import * from cccli.printer import Printer, color -from cccli.command.command import Command +from cccli.command.command import Command, OptionCommand from optparse import OptionParser -class Command_tags(Command): - '''List static tags on an account (current by default)''' +class Command_tags(OptionCommand): + '''List static tags on an account''' + + def __init__(self, cli, argv0): + OptionCommand.__init__(self, cli, argv0) + self.option.set_usage("%prog [options] [tql]") + self.option.add_option("--raw", action="store_true", dest="raw", + help="Don't append filter on request") def __call__(self, argv): # Parse argline try: - oparser = OptionParser(prog=argv[0]) - oparser.add_option("--raw", action="store_true", dest="raw", - help="Don't append filter on request") - (options, args) = oparser.parse_args(argv[1:]) + (options, args) = self.option.parse_args(argv[1:]) except SystemExit: return # append current login if nothing asked @@ -43,9 +46,6 @@ class Command_tags(Command): tags = " ".join([ "%s%s:%s%s"%(color["green"], t, color["reset"], v) for (t,v) in o.items() ]) self.printer.out("%sid:%s%s%s %s"%(color["green"], color["yellow"], id, color["reset"], tags)) - def usage(self): - return "Usage: tags [--raw] [--help] [tql]" - class Command_addtag(Command): '''Add/Modify a static tag on an account'''