diff options
| author | Guido van Rossum <guido@python.org> | 2007-08-30 03:46:43 +0000 | 
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 2007-08-30 03:46:43 +0000 | 
| commit | 9604e66660bfe5066a88e3eb560a5846c620e8de (patch) | |
| tree | 445e4bdae6ea20847bdfa014ebdab7a1b7eb2233 /Lib/email/message.py | |
| parent | 2c440a1086e182796a52eeca1fe7c2baa441591d (diff) | |
| download | cpython-git-9604e66660bfe5066a88e3eb560a5846c620e8de.tar.gz | |
Oops.  I copied a slightly older version of the email package from the sandbox.
This should restore the email package in the py3k branch to exactly what's in
the sandbox.
This wipes out 1-2 fixes made post-copy, which I'll re-apply shortly.
Diffstat (limited to 'Lib/email/message.py')
| -rw-r--r-- | Lib/email/message.py | 20 | 
1 files changed, 7 insertions, 13 deletions
diff --git a/Lib/email/message.py b/Lib/email/message.py index ad795f939d..50d66041c1 100644 --- a/Lib/email/message.py +++ b/Lib/email/message.py @@ -13,9 +13,9 @@ import warnings  from io import BytesIO, StringIO  # Intrapackage imports -import email.charset  from email import utils  from email import errors +from email.charset import Charset  SEMISPACE = '; ' @@ -201,7 +201,7 @@ class Message:                  # Incorrect padding                  pass          elif cte in ('x-uuencode', 'uuencode', 'uue', 'x-uue'): -            in_file = BytesIO((payload + '\n').encode('raw-unicode-escape')) +            in_file = BytesIO(bytes(payload + '\n'))              out_file = BytesIO()              try:                  uu.decode(in_file, out_file, quiet=True) @@ -211,7 +211,7 @@ class Message:                  pass          # Is there a better way to do this?  We can't use the bytes          # constructor. -        return bytes(ord(c) for c in payload) +        return bytes(payload, 'raw-unicode-escape')      def set_payload(self, payload, charset=None):          """Set the payload to the given value. @@ -236,18 +236,13 @@ class Message:          and encoded properly, if needed, when generating the plain text          representation of the message.  MIME headers (MIME-Version,          Content-Type, Content-Transfer-Encoding) will be added as needed. -          """          if charset is None:              self.del_param('charset')              self._charset = None              return -        if isinstance(charset, basestring): -            charset = email.charset.Charset(charset) -        if not isinstance(charset, email.charset.Charset): -            raise TypeError(charset) -        # BAW: should we accept strings that can serve as arguments to the -        # Charset constructor? +        if not isinstance(charset, Charset): +            charset = Charset(charset)          self._charset = charset          if 'MIME-Version' not in self:              self.add_header('MIME-Version', '1.0') @@ -256,7 +251,7 @@ class Message:                              charset=charset.get_output_charset())          else:              self.set_param('charset', charset.get_output_charset()) -        if str(charset) != charset.get_output_charset(): +        if charset != charset.get_output_charset():              self._payload = charset.body_encode(self._payload)          if 'Content-Transfer-Encoding' not in self:              cte = charset.get_body_encoding() @@ -757,8 +752,7 @@ class Message:                  # LookupError will be raised if the charset isn't known to                  # Python.  UnicodeError will be raised if the encoded text                  # contains a character not in the charset. -                as_bytes = charset[2].encode('raw-unicode-escape') -                charset = str(as_bytes, pcharset) +                charset = str(bytes(charset[2]), pcharset)              except (LookupError, UnicodeError):                  charset = charset[2]          # charset characters must be in us-ascii range  | 
