diff options
author | W. Trevor King <wking@drexel.edu> | 2009-11-21 10:53:04 -0500 |
---|---|---|
committer | W. Trevor King <wking@drexel.edu> | 2009-11-21 10:53:04 -0500 |
commit | 3b168403ff5e50d767476c4c0f037d1841bb2bf9 (patch) | |
tree | 1929369aed3b5b4b0b6c87b27c92732798d0714a /becommands/show.py | |
parent | 75fedab07f9e566ca1c984051d7deece4d910e2c (diff) | |
download | bugseverywhere-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.py | 21 |
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: |