From 747dfb5584e96880fe89754c31777a9ede0efd5c Mon Sep 17 00:00:00 2001 From: Seblu <sebastien.luttringer@smartjog.com> Date: Mon, 14 Feb 2011 19:31:29 +0100 Subject: [PATCH] list now use TqlCommand --- cccli/command/list.py | 52 +++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/cccli/command/list.py b/cccli/command/list.py index c405adb..c99eb00 100644 --- a/cccli/command/list.py +++ b/cccli/command/list.py @@ -8,29 +8,22 @@ CloudControl list command from cccli.exception import * from sjrpc.core.exceptions import * from cccli.printer import Printer, color -from cccli.command.command import OptionCommand +from cccli.command.command import TqlCommand -class Command_list(OptionCommand): +class Command_list(TqlCommand): '''List objects''' def __init__(self, cli, argv0): - OptionCommand.__init__(self, cli, argv0) + TqlCommand.__init__(self, cli, argv0) self.set_usage("%prog [options] [tql]") self.add_option("-t", action="store_true", dest="table", help="column aligment display") self.add_option("-l", action="store_true", dest="align", help="line aligment display") - self.add_option("-n", "--no-tagdisplay", action="store_false", dest="tagdisplay", default=True, - help="No tag display system") + self.remove_option("-s") def __call__(self, argv): self.parse_args(argv) - if self.options.tagdisplay: - self.td = self.cli.tagdisplay.resolve - self.tc = self.cli.tagdisplay.color - else: - self.td = lambda tagname, tagvalue: unicode(tagvalue) - self.tc = lambda tagname: color["reset"] if len(self.args) == 0: self.args.append("") try: @@ -49,13 +42,13 @@ class Command_list(OptionCommand): def _trivial_list(self, objs): '''Trivial listing of tag''' for o in objs: - id = self.td("id", o.pop("id")) - tags = " ".join([ "%s%s:%s%s"%(color["reset"], + id = self.tdr("id", o.pop("id")) + tags = " ".join([ "%s%s:%s%s"%(self.tdtc(t), t, - self.tc(t), - self.td(t, v)) + self.tdc(t), + self.tdr(t, v)) for (t,v) in o.items() ]) - self.printer.out("%sid:%s%s %s%s"%(color["reset"], self.tc("id"), id, tags, color["reset"])) + self.printer.out("%sid=%s%s %s%s"%(self.tdtc("id"), self.tdc("id"), id, tags, color["reset"])) def _list_align(self, objs): '''Listing line aligned''' @@ -63,21 +56,21 @@ class Command_list(OptionCommand): tags = dict() for o in objs: for t,v in o.items(): - tags[t] = max(len(self.td(t, v)), tags.get(t, len(t))) + tags[t] = max(len(self.tdr(t, v)), tags.get(t, len(t))) # extract id size idsize = tags.pop("id") # dislay each object by line for o in objs: # show id tag - line = "%sid:%s%s"%(color["reset"], - self.tc("id"), - self.td("id", o.pop("id")).ljust(idsize + 2)) + line = "%sid=%s%s"%(self.tdtc("id"), + self.tdc("id"), + self.tdr("id", o.pop("id")).ljust(idsize + 2)) # show others tags for tagname in sorted(tags.keys()): - line += "%s%s:%s%s"%(color["reset"], + line += "%s%s:%s%s"%(self.tdtc(tagname), tagname, - self.tc(tagname), - self.td(tagname, o.get(tagname, u"")).ljust(tags[tagname] + 1)) + self.tdc(tagname), + self.tdr(tagname, o.get(tagname, u"")).ljust(tags[tagname] + 1)) self.printer.out("%s%s"%(line, color["reset"])) def _list_table(self, objs): @@ -86,23 +79,24 @@ class Command_list(OptionCommand): tags = dict() for o in objs: for t,v in o.items(): - tags[t] = max(len(self.td(t, v)), tags.get(t, len(t))) + tags[t] = max(len(self.tdr(t, v)), tags.get(t, len(t))) # extract id size idsize = tags.pop("id") # print id title - self.printer.out(color["reset"], nl="") + self.printer.out(self.tdtc("id"), nl="") self.printer.out("id".ljust(idsize+1), nl=" ") # print others titles for t,v in tags.items(): + self.printer.out(self.tdtc(t), nl="") self.printer.out(t.ljust(v), nl=" ") self.printer.out(color["reset"]) # print obj for obj in objs: # print id first - self.printer.out(self.tc("id"), nl="") - self.printer.out(self.td("id", obj.pop("id")).ljust(idsize+1), nl=" ") + self.printer.out(self.tdc("id"), nl="") + self.printer.out(self.tdr("id", obj.pop("id")).ljust(idsize+1), nl=" ") # print others tags for (t, v) in tags.items(): - self.printer.out(self.tc(t), nl="") - self.printer.out(self.td(t, obj.get(t, u"")).ljust(v) ,nl=" ") + self.printer.out(self.tdc(t), nl="") + self.printer.out(self.tdr(t, obj.get(t, u"")).ljust(v) ,nl=" ") self.printer.out(color["reset"]) -- GitLab