From c06d466ac29d54aa13f057bac0febf71f9d77fda Mon Sep 17 00:00:00 2001 From: Seblu <sebastien.luttringer@smartjog.com> Date: Wed, 9 Feb 2011 19:27:13 +0100 Subject: [PATCH] fix tagdisplay bug. command tags use tagdisplay --- cccli/command/tag.py | 19 ++++++++++++++++--- cccli/command/tagdisplay.py | 4 ++-- cccli/tagdisplay.py | 2 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/cccli/command/tag.py b/cccli/command/tag.py index 4f85651..d2700e8 100644 --- a/cccli/command/tag.py +++ b/cccli/command/tag.py @@ -20,6 +20,8 @@ class Command_tags(OptionCommand): self.option.set_usage("%prog [options] [tql]") self.option.add_option("--raw", action="store_true", dest="raw", help="Don't append filter on request") + self.option.add_option("-n", "--no-tagdisplay", action="store_false", dest="tagdisplay", default=True, + help="No tag display system") def __call__(self, argv): # Parse argline @@ -27,6 +29,13 @@ class Command_tags(OptionCommand): (options, args) = self.option.parse_args(argv[1:]) except SystemExit: return + # handle tagdisplay + if 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"] # append current login if nothing asked if len(args) == 0: tql = "a=%s"%self.cli.settings["login"] @@ -42,9 +51,13 @@ class Command_tags(OptionCommand): raise cmdError("RPCError: %s"%str(e)) # display answer for o in objs: - id = o.pop("id") - 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)) + id = self.td("id", o.pop("id")) + tags = " ".join([ "%s%s:%s%s"%(color["green"], + t, + self.tc(t), + self.td(t, v)) + for (t,v) in o.items() ]) + self.printer.out("%sid:%s%s %s%s"%(color["green"], color["lblue"], id, tags, color["reset"])) class Command_addtag(Command): diff --git a/cccli/command/tagdisplay.py b/cccli/command/tagdisplay.py index e0608e0..af5e872 100644 --- a/cccli/command/tagdisplay.py +++ b/cccli/command/tagdisplay.py @@ -62,10 +62,10 @@ class Command_tagdisplay(OptionCommand): for t in self.cli.tagdisplay.types: self.printer.out(t) elif what == "my": - self.printer.out("%sMy tagdisplay colors:%s"%(color["lblue"], color["reset"])) + self.printer.out("%sMy tag colors:%s"%(color["lblue"], color["reset"])) for (u,v) in self.cli.tagdisplay.tagcolor.items(): self.printer.out("%s: %s"%(u,v)) - self.printer.out("%sMy tagdisplay types:%s"%(color["lblue"], color["reset"])) + self.printer.out("%sMy tag types:%s"%(color["lblue"], color["reset"])) for (u,v) in self.cli.tagdisplay.tagtype.items(): self.printer.out("%s: %s"%(u,v)) else: diff --git a/cccli/tagdisplay.py b/cccli/tagdisplay.py index 9e1acd8..3165b0c 100644 --- a/cccli/tagdisplay.py +++ b/cccli/tagdisplay.py @@ -109,5 +109,5 @@ class TagDisplay(object): elif v < 86400: return "%dh%dm%ds"%(v/3600, v/60%60, v%60) else: - return "%dd%dh%dm%ds"%(v/86400, v/3600%3600, v/60%60, v%60) + return "%dd%dh%dm%ds"%(v/86400, v/3600%24, v/60%60, v%60) return value -- GitLab