diff options
author | Guido van Rossum <guido@python.org> | 1999-02-24 16:25:17 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1999-02-24 16:25:17 (GMT) |
commit | 4fe6caaaf082429e778a09043f6dce78b253b701 (patch) | |
tree | 721d8005f71a91bde7dbbe2eaf16bd658199bf7d /Lib | |
parent | 72b715d979151e4f1d0439bc922e0afc3eb770cc (diff) | |
download | cpython-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.py | 10 |
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 |