aboutsummaryrefslogtreecommitdiffstats
path: root/becommands/show.py
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2009-11-21 10:53:04 -0500
committerW. Trevor King <wking@drexel.edu>2009-11-21 10:53:04 -0500
commit3b168403ff5e50d767476c4c0f037d1841bb2bf9 (patch)
tree1929369aed3b5b4b0b6c87b27c92732798d0714a /becommands/show.py
parent75fedab07f9e566ca1c984051d7deece4d910e2c (diff)
downloadbugseverywhere-3b168403ff5e50d767476c4c0f037d1841bb2bf9.tar.gz
Broke `be comment --xml` out and extended into `be import-xml`.
It should currently do everything that `be comment --xml` did, but it still has a way to go before it lives up to it's longhelp string, mostly figuring out bug/comment merging. The allowed XML format also changed a bit, becoming a bit more structured. cmdutil.bug_from_shortname() renamed to cmdutil.bug_from_id(). New functions cmdutil.parse_id() and cmdutil.bug_comment_from_id(). Additional doctests in libbe.comment.Comment.comment_shortnames() to show example output if bug_shortname==None. Brought be-xml-to-mbox and be-mbox-to-xml up to speed on the current <be-xml>-rooted format. * Added <extra-string> handling to their comment handling. * Moved extra strings from email bodies to X-Extra-String headers (some comment bodies are not text, and we should keep the estr location consistent between bugs and comments.)
Diffstat (limited to 'becommands/show.py')
-rw-r--r--becommands/show.py21
1 files changed, 7 insertions, 14 deletions
diff --git a/becommands/show.py b/becommands/show.py
index 94e16bf..4f8c30d 100644
--- a/becommands/show.py
+++ b/becommands/show.py
@@ -63,24 +63,17 @@ def execute(args, manipulate_encodings=True):
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)
- elif shortname.count(':') == 1:
- # Split shortname generated by Comment.comment_shortnames()
- bugname = shortname.split(':')[0]
- is_comment = True
- else:
- bugname = shortname
- is_comment = False
- if is_comment == True and options.comments == False:
- continue
- bug = cmdutil.bug_from_shortname(bd, bugname)
- if is_comment == False:
+ bugname,commname = cmdutil.parse_id(shortname)
+ if commname == None: # bug shortname
+ bug = cmdutil.bug_from_id(bd, shortname)
if options.XML:
print bug.xml(show_comments=options.comments)
else:
print bug.string(show_comments=options.comments)
- else:
+ elif options.comments == False:
+ continue
+ else: # comment shortname
+ bug,comment = cmdutil.bug_comment_from_id(shortname)
comment = bug.comment_root.comment_from_shortname(
shortname, bug_shortname=bugname)
if options.XML: