aboutsummaryrefslogtreecommitdiffstats
path: root/becommands
diff options
context:
space:
mode:
Diffstat (limited to 'becommands')
-rw-r--r--becommands/comment.py5
-rw-r--r--becommands/show.py2
2 files changed, 5 insertions, 2 deletions
diff --git a/becommands/comment.py b/becommands/comment.py
index 1e6ecd4..c4b074f 100644
--- a/becommands/comment.py
+++ b/becommands/comment.py
@@ -117,7 +117,8 @@ def execute(args, test=False):
new.content_type = options.content_type
else: # import XML comment [list]
# read in the comments
- comment_list = ElementTree.XML(body)
+ str_body = body.strip().encode("unicode_escape")
+ comment_list = ElementTree.XML(str_body)
if comment_list.tag not in ["bug", "comment-list"]:
raise comment.InvalidXML(
comment_list, "root element must be <bug> or <comment-list>")
@@ -130,7 +131,7 @@ def execute(args, test=False):
for child in comment_list.getchildren():
if child.tag == "comment":
new = comment.Comment(bug)
- new.from_xml(ElementTree.tostring(child))
+ new.from_xml(unicode(ElementTree.tostring(child)).decode("unicode_escape"))
if new.alt_id in ids:
raise cmdutil.UserError(
"Clashing comment alt_id: %s" % new.alt_id)
diff --git a/becommands/show.py b/becommands/show.py
index a4208c3..f700caa 100644
--- a/becommands/show.py
+++ b/becommands/show.py
@@ -40,6 +40,7 @@ def execute(args, test=False):
Bug A
<BLANKLINE>
>>> execute (["--xml", "a"], test=True) # doctest: +ELLIPSIS
+ <?xml version="1.0" encoding="..." ?>
<bug>
<uuid>a</uuid>
<short-name>a</short-name>
@@ -70,6 +71,7 @@ def execute(args, test=False):
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)
else:
print bug.string(show_comments=True)