#2622 Import errors in email.message, from a py2app standalone application.

Patch by Mads Kiilerich, Reviewed by Barry Warsaw.
This commit is contained in:
Amaury Forgeot d'Arc 2009-07-11 14:33:51 +00:00
parent c91cbb948a
commit 74b8d333b7
9 changed files with 21 additions and 18 deletions

View File

@ -20,7 +20,7 @@ in To:, From:, Cc:, etc. fields, as well as Subject: lines.
This module does not do the line wrapping or end-of-line character conversion
necessary for proper internationalized headers; it only does dumb encoding and
decoding. To deal with the various line wrapping issues, use the email.Header
decoding. To deal with the various line wrapping issues, use the email.header
module.
"""
@ -167,7 +167,7 @@ def decode(s, convert_eols=None):
This function does not parse a full MIME header value encoded with
base64 (like =?iso-8895-1?b?bmloISBuaWgh?=) -- please use the high
level email.Header class for that functionality.
level email.header class for that functionality.
"""
if not s:
return s

View File

@ -62,7 +62,7 @@ def decode_header(header):
header, otherwise a lower-case string containing the name of the character
set specified in the encoded string.
An email.Errors.HeaderParseError may be raised when certain decoding error
An email.errors.HeaderParseError may be raised when certain decoding error
occurs (e.g. a base64 decoding exception).
"""
# If no encoding, just return the header
@ -337,8 +337,8 @@ class Header:
# different charsets and/or encodings, and the resulting header will
# accurately reflect each setting.
#
# Each encoding can be email.Utils.QP (quoted-printable, for
# ASCII-like character sets like iso-8859-1), email.Utils.BASE64
# Each encoding can be email.utils.QP (quoted-printable, for
# ASCII-like character sets like iso-8859-1), email.utils.BASE64
# (Base64, for non-ASCII like character sets like KOI8-R and
# iso-2022-jp), or None (no encoding).
#

View File

@ -129,7 +129,7 @@ class Message:
"From ". For more flexibility, use the flatten() method of a
Generator instance.
"""
from email.Generator import Generator
from email.generator import Generator
fp = StringIO()
g = Generator(fp)
g.flatten(self, unixfrom=unixfrom)
@ -787,4 +787,4 @@ class Message:
return [part.get_content_charset(failobj) for part in self.walk()]
# I.e. def walk(self): ...
from email.Iterators import walk
from email.iterators import walk

View File

@ -11,7 +11,7 @@ character set, but that includes some 8-bit characters that are normally not
allowed in email bodies or headers.
Quoted-printable is very space-inefficient for encoding binary files; use the
email.base64MIME module for that instead.
email.base64mime module for that instead.
This module provides an interface to encode and decode both headers and bodies
with quoted-printable encoding.
@ -23,7 +23,7 @@ in To:/From:/Cc: etc. fields, as well as Subject: lines.
This module does not do the line wrapping or end-of-line character
conversion necessary for proper internationalized headers; it only
does dumb encoding and decoding. To deal with the various line
wrapping issues, use the email.Header module.
wrapping issues, use the email.header module.
"""
__all__ = [
@ -330,7 +330,7 @@ def header_decode(s):
This function does not parse a full MIME header value encoded with
quoted-printable (like =?iso-8895-1?q?Hello_World?=) -- please use
the high level email.Header class for that functionality.
the high level email.header class for that functionality.
"""
s = s.replace('_', ' ')
return re.sub(r'=\w{2}', _unquote_match, s)

View File

@ -6,9 +6,9 @@ import unittest
from test.test_support import run_unittest
from email.test.test_email import TestEmailBase
from email.Charset import Charset
from email.Header import Header, decode_header
from email.Message import Message
from email.charset import Charset
from email.header import Header, decode_header
from email.message import Message
# We're compatible with Python 2.3, but it doesn't have the built-in Asian
# codecs, so we have to skip all these tests.

View File

@ -17,7 +17,7 @@ from test.test_support import TestSkipped
import email
from email import __file__ as testfile
from email.Iterators import _structure
from email.iterators import _structure
def openfile(filename):
from os.path import join, dirname, abspath

View File

@ -99,11 +99,11 @@ class MaildirTestCase(unittest.TestCase):
def test_unix_mbox(self):
### should be better!
import email.Parser
import email.parser
fname = self.createMessage("cur", True)
n = 0
for msg in mailbox.PortableUnixMailbox(open(fname),
email.Parser.Parser().parse):
email.parser.Parser().parse):
n += 1
self.assertEqual(msg["subject"], "Simple Test")
self.assertEqual(len(str(msg)), len(FROM_)+len(DUMMY_MESSAGE))

View File

@ -1,6 +1,6 @@
"""Manage HTTP Response Headers
Much of this module is red-handedly pilfered from email.Message in the stdlib,
Much of this module is red-handedly pilfered from email.message in the stdlib,
so portions are Copyright (C) 2001,2002 Python Software Foundation, and were
written by Barry Warsaw.
"""
@ -174,7 +174,7 @@ class Headers:
h.add_header('content-disposition', 'attachment', filename='bud.gif')
Note that unlike the corresponding 'email.Message' method, this does
Note that unlike the corresponding 'email.message' method, this does
*not* handle '(charset, language, value)' tuples: all values must be
strings or None.
"""

View File

@ -350,6 +350,9 @@ Core and Builtins
Library
-------
- Issue #2622: Fixed an ImportError when importing email.messsage from a
standalone application built with py2exe or py2app.
- Issue #6459: distutils.command.build_ext.get_export_symbols now uses the
"PyInit" prefix, rather than "init".