Since Thomas Wouters kept complaining that he wants access to the the
Unix From lines, change the UnixMailbox class so that _search_start()
positions the file *before* the Unix From line instead of after it;
change _search_end() to skip one line before looking for the next From
line. The rfc822.Message class automatically recognizes these Unix
From lines and squirrels them away in the 'unixfrom' instance variable.
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 6d5f6e4..b6c16fe 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -97,13 +97,16 @@
def _search_start(self):
while 1:
+ pos = self.fp.tell()
line = self.fp.readline()
if not line:
raise EOFError
if line[:5] == 'From ' and self._isrealfromline(line):
+ self.fp.seek(pos)
return
def _search_end(self):
+ self.fp.readline() # Throw away header line
while 1:
pos = self.fp.tell()
line = self.fp.readline()