Converted `be list --xml` to <be-xml> format.
authorW. Trevor King <wking@drexel.edu>
Thu, 21 Jan 2010 14:17:40 +0000 (09:17 -0500)
committerW. Trevor King <wking@drexel.edu>
Thu, 21 Jan 2010 14:17:40 +0000 (09:17 -0500)
Fixed up be-xml-to-mbox following the recent libbe restructuring.

Moved stdout manipulation in be-mail-to-xml into the if __name__ ==
'__main__' block, in case some other module wants to recycle some of
its functions/methods.

libbe/command/list.py
misc/xml/be-mail-to-xml
misc/xml/be-xml-to-mbox

index c1bcba0e8108ec7305198c9a67d45fcc84f2d0a2..44be71bcc4490b2dd8facbfa9d93d405e4f24a45 100644 (file)
@@ -228,7 +228,7 @@ class List (libbe.command.Command):
         if xml == True:
             print >> self.stdout, \
                 '<?xml version="1.0" encoding="%s" ?>' % self.stdout.encoding
-            print >> self.stdout, '<bugs>'
+            print >> self.stdout, '<be-xml>'
         if len(bugs) > 0:
             for bug in bugs:
                 if xml == True:
@@ -236,7 +236,7 @@ class List (libbe.command.Command):
                 else:
                     print >> self.stdout, bug.string(shortlist=True)
         if xml == True:
-            print >> self.stdout, '</bugs>'
+            print >> self.stdout, '</be-xml>'
 
     def _long_help(self):
         return """
index 0b334652e6fdc90fd80d49e57e0a879a480327f2..5a1a88f6a73aaf4267f7aab74f1d8360b4e5c5f7 100755 (executable)
@@ -23,20 +23,17 @@ followed by a blank line.
 """
 
 import base64
-import codecs
 import email.utils
 from libbe.util.encoding import get_output_encoding
 from libbe.util.utility import time_to_str
 import mailbox # the mailbox people really want an on-disk copy
 import optparse
-import sys
 from time import asctime, gmtime, mktime
 import types
 from xml.sax.saxutils import escape
 
 BREAK = u'--' # signature separator
 DEFAULT_ENCODING = get_output_encoding()
-sys.stdout = codecs.getwriter(DEFAULT_ENCODING)(sys.stdout)
 
 KNOWN_IDS = []
 
@@ -172,4 +169,7 @@ def main(argv):
 
 if __name__ == "__main__":
     import sys
+    import codecs
+
+    sys.stdout = codecs.getwriter(DEFAULT_ENCODING)(sys.stdout)
     main(sys.argv)
index 34d0aa3d4adb706651ef81a378c2824d2fc14b90..015444e09318f15d328b795f0b6d219f50f5ecfd 100755 (executable)
@@ -25,10 +25,9 @@ followed by a blank line.
 """
 
 #from mailbox import mbox, Message  # the mailbox people really want an on-disk copy
-import codecs
 import email.utils
-from libbe.encoding import get_encoding, set_IO_stream_encodings
-from libbe.utility import str_to_time as rfc2822_to_gmtime_integer
+from libbe.util.encoding import get_output_encoding
+from libbe.util.utility import str_to_time as rfc2822_to_gmtime_integer
 from time import asctime, gmtime
 import types
 try: # import core module, Python >= 2.5
@@ -40,8 +39,7 @@ 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)
+DEFAULT_ENCODING = get_output_encoding()
 
 def rfc2822_to_asctime(rfc2822_string):
     """Convert an RFC 2822-fomatted string into a asctime string.
@@ -197,7 +195,11 @@ def print_to_mbox(element):
             print_to_mbox(elt)
 
 if __name__ == "__main__":
+    import codecs
     import sys
+    
+    sys.stdin = codecs.getreader(DEFAULT_ENCODING)(sys.stdin)
+    sys.stdout = codecs.getwriter(DEFAULT_ENCODING)(sys.stdout)
 
     if len(sys.argv) == 1: # no filename given, use stdin
         xml_unicode = sys.stdin.read()