diff --git a/cccli/command/tag.py b/cccli/command/tag.py index 4f85651d09dceb051c1cc30a3ace5971004dc26d..d2700e8db7256b90c0654f0050ed3e12d689338d 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 e0608e07c5c977702c396e7a70c750e62c204e7b..af5e8725aaf064f47b78c10101fa7f717e96bd55 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 9e1acd87ac742cda200185676f997f281e3d477a..3165b0cfc7f8b3a596ad68e710794f40ce661437 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