Commit Graph

340 Commits

Author SHA1 Message Date
Amaury Forgeot d'Arc
74b8d333b7 #2622 Import errors in email.message, from a py2app standalone application.
Patch by Mads Kiilerich, Reviewed by Barry Warsaw.
2009-07-11 14:33:51 +00:00
Benjamin Peterson
5c8da86f3a convert usage of fail* to assert* 2009-06-30 22:57:08 +00:00
Georg Brandl
a4c622972a Remove stray pychecker directive. 2009-06-28 12:10:18 +00:00
Barry Warsaw
dbf95a3643 A fix for issue 1974, inspired by the patch from Andi Albrecht (aalbrecht),
though with some changes by me.  This patch should not be back ported or
forward ported.  It's a bit too risky for 2.6 and 3.x does things fairly
differently.
2009-03-30 22:42:17 +00:00
Benjamin Peterson
33cd7ef867 fix import 2009-03-30 02:14:21 +00:00
Benjamin Peterson
04232973b7 update email tests to use SkipTest 2009-03-26 21:40:29 +00:00
Mark Dickinson
3e4caeb3bf Issue #5341: Fix a variety of spelling errors. 2009-02-21 20:27:01 +00:00
Antoine Pitrou
b90a8be96f #2676: email/message.py [Message.get_content_type]: Trivial regex hangs on pathological input 2008-08-15 21:03:21 +00:00
Brett Cannon
8161498817 Remove a dict.has_key() usage in email._parseaddr found while running -3. 2008-08-03 23:40:13 +00:00
Brett Cannon
1f571c6e60 Remove Barry's love of deprecated syntax to silence warnings in the email
package, when run under -3, about using <>.
2008-08-03 23:27:32 +00:00
Martin v. Löwis
3a4414855c Revert eol-style to CRLF. 2008-06-14 00:41:41 +00:00
Martin v. Löwis
06510b2213 Run svneol.py on all sources. 2008-06-13 22:38:33 +00:00
Christian Heimes
c5f05e45cf Patch #2167 from calvin: Remove unused imports 2008-02-23 17:40:11 +00:00
Facundo Batista
2b1b195d39 Fix issue #1822: MIMEMultipart.is_multipart() behaves correctly for a
just-created (and empty) instance.  Added tests for this. Thanks
Jonathan Share.
2008-01-19 12:32:27 +00:00
Barry Warsaw
81a06d4260 In response to this SF bug:
[ 1752723 ] email.message_from_string: initial line gets discarded

I added a test to assert that when the first line of text passed to
message_from_string() contains a leading space, the message ends up with the
appropriate FirstHeaderLineIsContinuationDefect on its defects list.

The bug is invalid.
2007-07-13 22:12:58 +00:00
Barry Warsaw
dcd24ae501 SF bug #1582282; decode_header() incorrectly splits not-conformant RFC
2047-like headers where there is no whitespace between encoded words.  This
fix changes the matching regexp to include a trailing lookahead assertion that
the closing ?= must be followed by whitespace, newline, or end-of-string.
This also changes the regexp to add the MULTILINE flag.
2007-03-14 04:59:50 +00:00
Martin v. Löwis
bdd0f39de5 Patch #1449244: Support Unicode strings in
email.message.Message.{set_charset,get_content_charset}.
Will backport.
2007-03-13 10:24:00 +00:00
Barry Warsaw
cbbc3f19c1 Tokio Kikuchi's fix for SF bug #1629369; folding whitespace allowed in the
display name of an email address, e.g.

Foo
\tBar <foo@example.com>

Test case added by Barry.
2007-03-12 03:20:01 +00:00
Georg Brandl
4ba9e5bdc7 Patch #1634778: add missing encoding aliases for iso8859_15 and
iso8859_16.
2007-01-27 17:59:42 +00:00
Barry Warsaw
1e3c3b15df decode_rfc2231(): As Christian Robottom Reis points out, it makes no sense to
test for parts > 3 when we use .split(..., 2).
2006-10-04 02:06:36 +00:00
Barry Warsaw
d92ae78bdb Forward port some fixes that were in email 2.5 but for some reason didn't make
it into email 4.0.  Specifically, in Message.get_content_charset(), handle RFC
2231 headers that contain an encoding not known to Python, or a character in
the data that isn't in the charset encoding.  Also forward port the
appropriate unit tests.
2006-07-26 05:54:46 +00:00
Barry Warsaw
b110bad2d9 More RFC 2231 improvements for the email 4.0 package. As Mark Sapiro rightly
points out there are really two types of continued headers defined in this
RFC (i.e. "encoded" parameters with the form "name*0*=" and unencoded
parameters with the form "name*0="), but we were were handling them both the
same way and that isn't correct.

This patch should be much more RFC compliant in that only encoded params are
%-decoded and the charset/language information is only extract if there are
any encoded params in the segments.  If there are no encoded params then the
RFC says that there will be no charset/language parts.

Note however that this will change the return value for Message.get_param() in
some cases.  For example, whereas before if you had all unencoded param
continuations you would have still gotten a 3-tuple back from this method
(with charset and language == None), you will now get just a string.  I don't
believe this is a backward incompatible change though because the
documentation for this method already indicates that either return value is
possible and that you must do an isinstance(val, tuple) check to discriminate
between the two.  (Yeah that API kind of sucks but we can't change /that/
without breaking code.)

Test cases, some documentation updates, and a NEWS item accompany this patch.
2006-07-21 14:51:07 +00:00
Barry Warsaw
18d2f39af7 decode_rfc2231(): Be more robust against buggy RFC 2231 encodings.
Specifically, instead of raising a ValueError when there is a single tick in
the parameter, simply return that the entire string unquoted, with None for
both the charset and the language.  Also, if there are more than 2 ticks in
the parameter, interpret the first three parts as the standard RFC 2231 parts,
then the rest of the parts as the encoded string.

Test cases added.

Original fewer-than-3-parts fix by Tokio Kikuchi.

Resolves SF bug # 1218081.  I will back port the fix and tests to Python 2.4
(email 3.0) and Python 2.3 (email 2.5).

Also, bump the version number to email 4.0.1, removing the 'alpha' moniker.
2006-07-17 23:07:51 +00:00
Barry Warsaw
dbcc8d9b24 Port forward from 2.4 branch:
Patch #1464708 from William McVey: fixed handling of nested comments in mail
addresses.  E.g.

"Foo ((Foo Bar)) <foo@example.com>"

Fixes for both rfc822.py and email package.  This patch needs to be back
ported to Python 2.3 for email 2.5.
2006-05-01 03:03:02 +00:00
Anthony Baxter
93f5b93422 The email module's parsedate_tz function now sets the daylight savings
flag to -1 (unknown) since it can't tell from the date whether it should
be set.
patch from Aldo Cortesi
2006-04-03 08:05:07 +00:00