summaryrefslogtreecommitdiffstats
path: root/Lib/email
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add '__all__' to _encoded_words and mark QByteMap as private.R David Murray2012-05-271-2/+12
| |
* | Recognize '<>' as a special case of an angle-addr in header_value_parser.R David Murray2012-05-261-1/+11
| | | | | | | | | | | | | | Although '<>' is invalid according to RFC 5322, SMTP uses it for various things, and it sometimes ends up in email headers. This patch changes get_angle_addr to recognize it and just register a Defect instead of raising a parsing error.
* | #665194: Add a localtime function to email.utils.R David Murray2012-05-261-0/+53
| | | | | | | | | | | | | | | | Without this function people would be tempted to use the other date functions in email.utils to compute an aware localtime, and those functions are not as good for that purpose as this code. The code is Alexander Belopolsy's from his proposed patch for issue 9527, with a fix (and additional tests) by Brian K. Jones.
* | #12586: Fix a small oversight in the new email policy header setting code.R David Murray2012-05-261-1/+1
| | | | | | | | | | This is a danger of focusing on unit tests: sometimes you forget to do the integration tests.
* | #12586: add provisional email policy with new header parsing and folding.R David Murray2012-05-258-11/+3047
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the new policies are used (and only when the new policies are explicitly used) headers turn into objects that have attributes based on their parsed values, and can be set using objects that encapsulate the values, as well as set directly from unicode strings. The folding algorithm then takes care of encoding unicode where needed, and folding according to the highest level syntactic objects. With this patch only date and time headers are parsed as anything other than unstructured, but that is all the helper methods in the existing API handle. I do plan to add more parsers, and complete the set specified in the RFC before the package becomes stable.
* | #14731: refactor email policy framework.R David Murray2012-05-258-260/+649
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch primarily does two things: (1) it adds some internal-interface methods to Policy that allow for Policy to control the parsing and folding of headers in such a way that we can construct a backward compatibility policy that is 100% compatible with the 3.2 API, while allowing a new policy to implement the email6 API. (2) it adds that backward compatibility policy and refactors the test suite so that the only differences between the 3.2 test_email.py file and the 3.3 test_email.py file is some small changes in test framework and the addition of tests for bugs fixed that apply to the 3.2 API. There are some additional teaks, such as moving just the code needed for the compatibility policy into _policybase, so that the library code can import only _policybase. That way the new code that will be added for email6 will only get imported when a non-compatibility policy is imported.
* | #14380: Make actual default match docs, fix __init__ order.R David Murray2012-03-231-7/+9
| | | | | | | | | | | | | | | | Éric pointed out that given that the default was documented as None, someone would reasonably pass that to get the default behavior. In fixing the code to use None, I noticed that the change to _charset was being done after it had already been passed to MIMENonMultipart. The change to the test verifies that the order is now correct.
* | #14380: Have MIMEText defaults to utf-8 when passed non-ASCII unicodeR David Murray2012-03-231-0/+10
| | | | | | | | | | | | | | Previously it would just accept the unicode, which would wind up as unicode in the transfer-encoded message object, which is just wrong. Patch by Jeff Knupp.
* | #14344: fixed the repr of email.policy objects.R David Murray2012-03-171-1/+1
| |
* | Merge #11686: add missing entries to email __all__ lists.R David Murray2012-03-173-2/+3
|\ \ | |/ | | | | Original patch by Steffen Daode Nurpmeso
| * #11686: add missing entries to email __all__ lists.R David Murray2012-03-175-11/+9
| | | | | | | | Original patch by Steffen Daode Nurpmeso
* | #12818: remove escaping of () in quoted strings in formataddrR David Murray2012-03-141-1/+1
| | | | | | | | | | The quoting of ()s inside quoted strings is allowed by the RFC, but is not needed. There seems to be no reason to add needless escapes.
* | #14062: fix BytesParser handling of Header objectsR David Murray2012-03-141-0/+3
|\ \ | |/ | | | | | | | | This is a different fix than the 3.2 fix, but the new tests are the same. This also affected smtplib.SMTP.send_message, which calls BytesParser.
| * #14062: fix BytesParser handling of linesep for Header objectsR David Murray2012-03-142-2/+25
| | | | | | | | This also affected smtplib.SMTP.send_message, which calls BytesParser.
* | Merge #14291: if a header has non-ascii unicode, default to CTE using utf-8R David Murray2012-03-141-1/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | In Python2, if a unicode string was assigned as the value of a header, email would automatically CTE encode it using the UTF8 charset. This capability was lost in the Python3 translation, and this patch restores it. Patch by Ali Ikinci, assisted by R. David Murray. I also added a fix for the mailbox test that was depending (with a comment that it was a bad idea to so depend) on non-ASCII causing message_from_string to raise an error. It now uses support.patch to induce an error during message serialization.
| * #14291: if a header has non-ascii unicode, default to CTE using utf-8R David Murray2012-03-142-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In Python2, if a unicode string was assigned as the value of a header, email would automatically CTE encode it using the UTF8 charset. This capability was lost in the Python3 translation, and this patch restores it. Patch by Ali Ikinci, assisted by R. David Murray. I also added a fix for the mailbox test that was depending (with a comment that it was a bad idea to so depend) on non-ASCII causing message_from_string to raise an error. It now uses support.patch to induce an error during message serialization.
* | Merge 3.2, fix typos.Florent Xicluna2011-11-111-1/+1
|\ \ | |/
| * Fix few typos.Florent Xicluna2011-11-111-1/+1
| |
* | #665194: support roundtripping RFC2822 date stamps in the email.utils moduleR David Murray2011-07-202-8/+57
| |
* | #1874: detect invalid multipart CTE and report it as a defect.R David Murray2011-06-222-0/+8
| |
* | merge #11584: make Header and make_header handle binary unknown-8bit inputR David Murray2011-06-181-1/+4
|\ \ | |/
| * #11584: make Header and make_header handle binary unknown-8bit inputR David Murray2011-06-182-1/+19
| | | | | | | | | | | | | | | | Analogous to the decode_header fix, this fix makes Header.append and make_header correctly handle the unknown-8bit charset introduced by email5.1, when the input to them is binary strings. Previous to this fix the make_header(decode_header(x)) == x invariant was broken in the face of the unknown-8bit charset.
* | merge #11584: make decode_header handle Header objects correctlyR David Murray2011-06-181-2/+3
|\ \ | |/ | | | | | | This updates 12e39cd7a0e4 (merge of b21fdfa0019c), which fixed this bug incorrectly.
| * #11584: make decode_header handle Header objects correctlyR David Murray2011-06-182-4/+5
| | | | | | | | This updates b21fdfa0019c, which fixed this bug incorrectly.
* | #11731: simplify/enhance parser/generator API by introducing policy objects.R David Murray2011-04-185-34/+238
| | | | | | | | | | | | | | | | This new interface will also allow for future planned enhancements in control over the parser/generator without requiring any additional complexity in the parser/generator API. Patch reviewed by Éric Araujo and Barry Warsaw.
* | Merge: #11492: rewrite header folding algorithm. Less code, more passing tests.R David Murray2011-04-181-180/+109
|\ \ | |/
| * #11492: rewrite header folding algorithm. Less code, more passing tests.R David Murray2011-04-182-197/+241
| |
| * Improve message.py test coverage to 100%.R David Murray2011-04-161-0/+56
| | | | | | | | | | coverage.py reports 99% on branch coverage, but that appears to be a bug or limitation in coverage.py.
* | Remove unused method from internal class.R David Murray2011-04-151-3/+0
| |
* | #11684: Complete parser bytes interface by adding BytesHeaderParserR David Murray2011-04-132-2/+12
| | | | | | | | Patch by Steffen Daode Nurpmeso.
* | Merge with 3.2.Ezio Melotti2011-04-131-1/+1
|\ \ | |/
| * Merge with 3.1.Ezio Melotti2011-04-131-1/+1
| |\
| | * Fix typo in docstring.Ezio Melotti2011-04-131-1/+1
| | |
* | | Merge: Add maxlinelen to docstring, delete obsolete wordingR David Murray2011-04-121-6/+6
|\ \ \ | |/ /
| * | Merge: Add maxlinelen to docstring, delete obsolete wordingR David Murray2011-04-121-6/+6
| |\ \ | | |/
| | * Add maxlinelen to docstring, delete obsolete wordingR David Murray2011-04-121-6/+6
| | |
* | | Merge #11492: fix header truncation on folding when there are runs of split ↵R David Murray2011-04-081-3/+4
|\ \ \ | |/ / | | | | | | | | | | | | chars. Not a complete fix for this issue.
| * | Merge #11492: fix header truncation on folding when there are runs of split ↵R David Murray2011-04-082-3/+14
| |\ \ | | |/ | | | | | | | | | | | | chars. Not a complete fix for this issue.
| | * #11492: fix header truncation on folding when there are runs of split chars.R David Murray2011-04-082-3/+14
| | | | | | | | | | | | Not a complete fix for this issue.
| * | Merge: Improve test coverage of _split_ascii method.R David Murray2011-04-081-0/+43
| |\ \ | | |/
| | * Improve test coverage of _split_ascii method.R David Murray2011-04-081-0/+43
| | |
* | | #1690608: make formataddr RFC2047 aware.R David Murray2011-04-061-6/+22
| | | | | | | | | | | | Patch by Torsten Becker.
* | | Merge #11605: don't use set/get_payload in feedparser; they do conversions.R David Murray2011-04-061-2/+2
|\ \ \ | |/ /
| * | #11605: don't use set/get_payload in feedparser; they do conversions.R David Murray2011-04-062-2/+49
| | | | | | | | | | | | | | | Really the whole API needs to be gone over to restore the separation of concerns; but that's what email6 is about.
* | | Remove the 'strict' argument to Parser, deprecated since 2.4.R David Murray2011-03-291-22/+2
| | |
* | | Merge #11584: Since __getitem__ returns headers, make decode_header handle them.R David Murray2011-03-251-0/+6
|\ \ \ | |/ /
| * | #11584: Since __getitem__ returns headers, make decode_header handle them.R David Murray2011-03-252-0/+20
| | | | | | | | | | | | | | | | | | | | | Why I consider this a bug rather than an API change: the API change was to Message, which didn't used to return Headers unless you added them yourself. Now it does (for 8bit binary header input), so decode_header needs to be able to handle them.
* | | Merge #11606: improved body_encode algorithm, no longer produces overlong linesR David Murray2011-03-241-60/+85
|\ \ \ | |/ /
| * | Merge #11606: improved body_encode algorithm, no longer produces overlong linesR David Murray2011-03-242-61/+103
| |\ \ | | |/
| | * #11606: improved body_encode algorithm, no longer produces overlong linesR David Murray2011-03-242-61/+103
| | | | | | | | | | | | Algorithm and initial patch by Michael Henry.