Author athomas
Recipients athomas
Date 2009-10-15.18:06:46
SpamBayes Score 1.86414e-06
Marked as misclassified No
Message-id <1255630009.17.0.724034195968.issue7143@psf.upfronthosting.co.za>
In-reply-to
Content
The attachment of my sample email contains '123\n', but get_payload
(decode=True) returns '123'.
The source of this error is the function _bdecode from the email.utils 
module, which gets called for decoding base64 encoded payloads. Here 
the last \n gets stripped away, because (comment in the function):

# We can't quite use base64.encodestring() since it tacks on a "courtesy
# newline".  Blech!

I don't think that's true. At least not for Python 2.5.4 and upwards. 
Also note the "encodestring" instead of "decodestring".
In fact calling

base64.decodestring(part.get_payload())

returns the correct value, so I propose to remove this function 
completely and just use the standard decoding method.
Please note that base64.encodestring really tacks on a \n.
History
Date User Action Args
2009-10-15 18:06:49athomassetrecipients: + athomas
2009-10-15 18:06:49athomassetmessageid: <1255630009.17.0.724034195968.issue7143@psf.upfronthosting.co.za>
2009-10-15 18:06:47athomaslinkissue7143 messages
2009-10-15 18:06:46athomascreate