summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1999-02-24 16:25:17 (GMT)
committerGuido van Rossum <guido@python.org>1999-02-24 16:25:17 (GMT)
commit4fe6caaaf082429e778a09043f6dce78b253b701 (patch)
tree721d8005f71a91bde7dbbe2eaf16bd658199bf7d /Lib
parent72b715d979151e4f1d0439bc922e0afc3eb770cc (diff)
downloadcpython-4fe6caaaf082429e778a09043f6dce78b253b701.zip
cpython-4fe6caaaf082429e778a09043f6dce78b253b701.tar.gz
cpython-4fe6caaaf082429e778a09043f6dce78b253b701.tar.bz2
Patch by Lars Wirzenius:
o the initial comment is wrong: creating messages is already implemented o Message.getbodytext: if the mail or it's part contains an empty content-transfer-encoding header, the code used to break; the change below treats an empty encoding value the same as the other types that do not need decoding o SubMessage.getbodytext was missing the decode argument; the change below adds it; I also made it unconditionally return the raw text if decoding was not desired, because my own routines needed that (and it was easier than rewriting my own routines ;-)
Diffstat (limited to 'Lib')
-rw-r--r--Lib/mhlib.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/Lib/mhlib.py b/Lib/mhlib.py
index 5de1538..23e936d 100644
--- a/Lib/mhlib.py
+++ b/Lib/mhlib.py
@@ -39,6 +39,7 @@
# dict = f.getsequences() # dictionary of sequences in folder {name: list}
# f.putsequences(dict) # write sequences back to folder
#
+# f.createmessage(n, fp) # add message from file f as number n
# f.removemessages(list) # remove messages in list from folder
# f.refilemessages(list, tofolder) # move messages in list to other folder
# f.movemessage(n, tofolder, ton) # move one message to a given destination
@@ -53,7 +54,7 @@
#
# XXX To do, functionality:
# - annotate messages
-# - create, send messages
+# - send messages
#
# XXX To do, organization:
# - move IntSet to separate file
@@ -699,7 +700,7 @@ class Message(mimetools.Message):
def getbodytext(self, decode = 1):
self.fp.seek(self.startofbody)
encoding = self.getencoding()
- if not decode or encoding in ('7bit', '8bit', 'binary'):
+ if not decode or encoding in ('', '7bit', '8bit', 'binary'):
return self.fp.read()
from StringIO import StringIO
output = StringIO()
@@ -743,6 +744,7 @@ class SubMessage(Message):
self.body = Message.getbodyparts(self)
else:
self.body = Message.getbodytext(self)
+ self.bodyencoded = Message.getbodytext(self, decode=0)
# XXX If this is big, should remember file pointers
# String representation
@@ -750,7 +752,9 @@ class SubMessage(Message):
f, n, fp = self.folder, self.number, self.fp
return 'SubMessage(%s, %s, %s)' % (f, n, fp)
- def getbodytext(self):
+ def getbodytext(self, decode = 1):
+ if not decode:
+ return self.bodyencoded
if type(self.body) == type(''):
return self.body