aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2009-07-21 15:14:59 -0400
committerW. Trevor King <wking@drexel.edu>2009-07-21 15:14:59 -0400
commit949b17853e384d4bce85a2ab0b29cf28375465aa (patch)
tree6aa8810f10897046f8a6d666c043ce5585d434a7
parentb6f34db0ce3b5d93ecb740bae064342f7eb05587 (diff)
downloadbugseverywhere-949b17853e384d4bce85a2ab0b29cf28375465aa.tar.gz
Added "--no-comments" to "be show".
Also moved the XML-header line to the top of the argument loop, since there should only be one. We're still missing global tags wrapping the whole thing though... Also set options.XML default to False. It had been defaulting to None, which was breaking the non-XML newline-adding check.
-rw-r--r--becommands/show.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/becommands/show.py b/becommands/show.py
index d053cc3..e43cfb9 100644
--- a/becommands/show.py
+++ b/becommands/show.py
@@ -58,6 +58,8 @@ def execute(args, test=False):
if len(args) == 0:
raise cmdutil.UsageError
bd = bugdir.BugDir(from_disk=True, manipulate_encodings=not test)
+ if options.XML:
+ print '<?xml version="1.0" encoding="%s" ?>' % bd.encoding
for shortname in args:
if shortname.count(':') > 1:
raise cmdutil.UserError("Invalid id '%s'." % shortname)
@@ -68,32 +70,37 @@ def execute(args, test=False):
else:
bugname = shortname
is_comment = False
+ if is_comment == True and options.comments == False:
+ continue
bug = bd.bug_from_shortname(bugname)
if is_comment == False:
- if options.dumpXML:
- print '<?xml version="1.0" encoding="%s" ?>' % bd.encoding
- print bug.xml(show_comments=True)
+ if options.XML:
+ print bug.xml(show_comments=options.comments)
else:
- print bug.string(show_comments=True)
+ print bug.string(show_comments=options.comments)
else:
comment = bug.comment_root.comment_from_shortname(
shortname, bug_shortname=bugname)
- if options.dumpXML:
+ if options.XML:
print comment.xml(shortname=shortname)
else:
if len(args) == 1 and options.only_raw_body == True:
sys.__stdout__.write(comment.body)
else:
print comment.string(shortname=shortname)
- if shortname != args[-1] and options.dumpXML == False:
+ if shortname != args[-1] and options.XML == False:
print "" # add a blank line between bugs/comments
def get_parser():
parser = cmdutil.CmdOptionParser("be show [options] ID [ID ...]")
- parser.add_option("-x", "--xml", action="store_true",
- dest='dumpXML', help="Dump as XML")
+ parser.add_option("-x", "--xml", action="store_true", default=False,
+ dest='XML', help="Dump as XML")
parser.add_option("--only-raw-body", action="store_true",
- dest='only_raw_body', help="When printing only a single comment, just print it's body. This allows extraction of non-text content types.")
+ dest='only_raw_body',
+ help="When printing only a single comment, just print it's body. This allows extraction of non-text content types.")
+ parser.add_option("-c", "--no-comments", dest="comments",
+ action="store_false", default=True,
+ help="Disable comment output. This is useful if you just want more details on a bug's current status.")
return parser
longhelp="""