Use Comment.content_type in xml output.
authorW. Trevor King <wking@drexel.edu>
Mon, 22 Jun 2009 18:30:42 +0000 (14:30 -0400)
committerW. Trevor King <wking@drexel.edu>
Mon, 22 Jun 2009 18:30:42 +0000 (14:30 -0400)
libbe/comment.py
xml/be-xml-to-mbox

index d0fa5ee9a3c34f9084e2804e7b89ee97bee01580..80b97a1d7b598b872ba5d71bc61aba1cbb1838b9 100644 (file)
@@ -228,6 +228,7 @@ class Comment(Tree, settings_object.SavedSettingsObject):
             <short-name>com-1</short-name>
             <from></from>
             <date>Thu, 01 Jan 1970 00:00:00 +0000</date>
+            <content-type>text/plain</content-type>
             <body>Some
         insightful
         remarks</body>
@@ -240,6 +241,7 @@ class Comment(Tree, settings_object.SavedSettingsObject):
                 ("in-reply-to", self.in_reply_to),
                 ("from", self._setting_attr_string("From")),
                 ("date", self.time_string),
+                ("content-type", self.content_type),
                 ("body", (self.body or "").rstrip('\n'))]
         lines = ["<comment>"]
         for (k,v) in info:
index 0f430dc1407fdc38ca9366fd09e4814ba0ea7719..7d07bac6dcfce768397c794b10aec85a7365244a 100755 (executable)
@@ -28,6 +28,7 @@ followed by a blank line.
 import email.utils
 import types
 
+from libbe.encoding import get_encoding, set_IO_stream_encodings
 from libbe.utility import str_to_time as rfc2822_to_gmtime_integer
 from time import asctime, gmtime
 from xml.sax import make_parser
@@ -37,6 +38,8 @@ from xml.sax.saxutils import unescape
 
 DEFAULT_DOMAIN = "invalid.com"
 DEFAULT_EMAIL = "dummy@" + DEFAULT_DOMAIN
+DEFAULT_ENCODING = get_encoding()
+set_IO_stream_encodings(DEFAULT_ENCODING)
 
 def rfc2822_to_asctime(rfc2822_string):
     """Convert an RFC 2822-fomatted string into a asctime string.
@@ -85,7 +88,7 @@ class Bug (LimitedAttrDict):
         print "Message-ID: <%s@%s>" % (self["uuid"], DEFAULT_DOMAIN)
         print "Date: %s" % self["created"]
         print "From: %s" % self["creator"]
-        print "Content-Type: %s" % "text/plain; charset=utf-8"
+        print "Content-Type: %s; charset=%s" % ("text/plain", DEFAULT_ENCODING)
         print "Content-Transfer-Encoding: 8bit"
         print "Subject: %s: %s" % (self["short-name"], self["summary"])
         print ""
@@ -100,6 +103,7 @@ class Comment (LimitedAttrDict):
               u"in-reply-to",
               u"from",
               u"date",
+              u"content-type",
               u"body"]
     def print_to_mbox(self, bug):
         name,addr = email.utils.parseaddr(self["from"])
@@ -107,7 +111,7 @@ class Comment (LimitedAttrDict):
         print "Message-ID: <%s@%s>" % (self["uuid"], DEFAULT_DOMAIN)
         print "Date: %s" % self["date"]
         print "From: %s" % self["from"]
-        print "Content-Type: %s" % "text/plain; charset=utf-8"
+        print "Content-Type: %s; charset=%s" % (self["content-type"], DEFAULT_ENCODING)
         print "Content-Transfer-Encoding: 8bit"
         print "Subject: %s: %s" % (self["short-name"], bug["summary"])
         if "in-reply-to" not in self.keys():