Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Re: email.message.Message - as_string fails (http://www.velocityreviews.com/forums/t955924-re-email-message-message-as_string-fails.html)

Terry Reedy 12-29-2012 01:57 AM

Re: email.message.Message - as_string fails
 
On 12/28/2012 7:22 AM, Helmut Jarausch wrote:
> Hi,
>
> I'm trying to filter an mbox file by removing some messages.
> For that I use
> Parser= FeedParser(policy=policy.SMTP)
> and 'feed' any lines to it.
> If the mbox file contains a white line followed by '^From ',
> I do
>
> Msg= Parser.close()
>
> (lateron I delete the Parser and create a new one by
> Parser= FeedParser(policy=policy.SMTP)
> )
>
> I can access parts of the message by Msg['Message-ID'], e.g.
> but even for the very first message, trying to print it or convert it to a string
> by MsgStr=Msg.as_string(unixfrom=True)
>
> lets Python (3.3.1_pre20121209) die with
>
> Traceback (most recent call last):
> File "Email_Parse.py", line 35, in <module>
> MsgStr=Msg.as_string(unixfrom=True)
> File "/usr/lib64/python3.3/email/message.py", line 151, in as_string
> g.flatten(self, unixfrom=unixfrom)
> File "/usr/lib64/python3.3/email/generator.py", line 112, in flatten
> self._write(msg)
> File "/usr/lib64/python3.3/email/generator.py", line 171, in _write
> self._write_headers(msg)
> File "/usr/lib64/python3.3/email/generator.py", line 198, in _write_headers
> self.write(self.policy.fold(h, v))
> File "/usr/lib64/python3.3/email/policy.py", line 153, in fold
> return self._fold(name, value, refold_binary=True)
> File "/usr/lib64/python3.3/email/policy.py", line 176, in _fold
> (len(lines[0])+len(name)+2 > maxlen or
> IndexError: list index out of range


The only list index visible is 0 in lines[0]. If this raises, lines is
empty. You could trace back to see where lines is defined. I suspect it
is all or part of the Msg you started with.

I believe that some of email was rewritten for 3.3, so it is possible
that you found a bug based on an untrue assumption. It is also possible
that you missed a limitation in the doc, or tripped over an intended but
not written limitation. So I hope you do the tracing, so if doc or code
need a fix, a tracker issue can be opened.

--
Terry Jan Reedy



All times are GMT. The time now is 11:01 AM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57