mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Give me back my page breaks.
This commit is contained in:
parent
a68ca35a8b
commit
e968ead1dd
12 changed files with 22 additions and 22 deletions
|
@ -8,7 +8,7 @@ import base64
|
||||||
from quopri import encodestring as _encodestring
|
from quopri import encodestring as _encodestring
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Helpers
|
# Helpers
|
||||||
def _qencode(s):
|
def _qencode(s):
|
||||||
return _encodestring(s, quotetabs=1)
|
return _encodestring(s, quotetabs=1)
|
||||||
|
@ -26,7 +26,7 @@ def _bencode(s):
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def encode_base64(msg):
|
def encode_base64(msg):
|
||||||
"""Encode the message's payload in Base64.
|
"""Encode the message's payload in Base64.
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ def encode_base64(msg):
|
||||||
msg['Content-Transfer-Encoding'] = 'base64'
|
msg['Content-Transfer-Encoding'] = 'base64'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def encode_quopri(msg):
|
def encode_quopri(msg):
|
||||||
"""Encode the message's payload in Quoted-Printable.
|
"""Encode the message's payload in Quoted-Printable.
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ def encode_quopri(msg):
|
||||||
msg['Content-Transfer-Encoding'] = 'quoted-printable'
|
msg['Content-Transfer-Encoding'] = 'quoted-printable'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def encode_7or8bit(msg):
|
def encode_7or8bit(msg):
|
||||||
"""Set the Content-Transfer-Encoding: header to 7bit or 8bit."""
|
"""Set the Content-Transfer-Encoding: header to 7bit or 8bit."""
|
||||||
orig = msg.get_payload()
|
orig = msg.get_payload()
|
||||||
|
@ -64,6 +64,6 @@ def encode_7or8bit(msg):
|
||||||
msg['Content-Transfer-Encoding'] = '7bit'
|
msg['Content-Transfer-Encoding'] = '7bit'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def encode_noop(msg):
|
def encode_noop(msg):
|
||||||
"""Do nothing."""
|
"""Do nothing."""
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class MessageError(Exception):
|
class MessageError(Exception):
|
||||||
"""Base class for errors in this module."""
|
"""Base class for errors in this module."""
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ SPACE8 = ' ' * 8
|
||||||
fcre = re.compile(r'^From ', re.MULTILINE)
|
fcre = re.compile(r'^From ', re.MULTILINE)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Generator:
|
class Generator:
|
||||||
"""Generates output from a Message object tree.
|
"""Generates output from a Message object tree.
|
||||||
|
|
||||||
|
@ -278,7 +278,7 @@ class Generator:
|
||||||
self._fp.write(s.getvalue())
|
self._fp.write(s.getvalue())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class DecodedGenerator(Generator):
|
class DecodedGenerator(Generator):
|
||||||
"""Generator a text representation of a message.
|
"""Generator a text representation of a message.
|
||||||
|
|
||||||
|
@ -334,7 +334,7 @@ class DecodedGenerator(Generator):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Helper
|
# Helper
|
||||||
def _make_boundary(self, text=None):
|
def _make_boundary(self, text=None):
|
||||||
# Craft a random boundary. If text is given, ensure that the chosen
|
# Craft a random boundary. If text is given, ensure that the chosen
|
||||||
|
|
|
@ -9,7 +9,7 @@ from cStringIO import StringIO
|
||||||
from types import StringType
|
from types import StringType
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def body_line_iterator(msg):
|
def body_line_iterator(msg):
|
||||||
"""Iterate over the parts, returning string payloads line-by-line."""
|
"""Iterate over the parts, returning string payloads line-by-line."""
|
||||||
for subpart in msg.walk():
|
for subpart in msg.walk():
|
||||||
|
@ -19,7 +19,7 @@ def body_line_iterator(msg):
|
||||||
yield line
|
yield line
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def typed_subpart_iterator(msg, maintype='text', subtype=None):
|
def typed_subpart_iterator(msg, maintype='text', subtype=None):
|
||||||
"""Iterate over the subparts with a given MIME type.
|
"""Iterate over the subparts with a given MIME type.
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
import Message
|
import Message
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class MIMEBase(Message.Message):
|
class MIMEBase(Message.Message):
|
||||||
"""Base class for MIME specializations."""
|
"""Base class for MIME specializations."""
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ import Errors
|
||||||
import Encoders
|
import Encoders
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class MIMEImage(MIMEBase.MIMEBase):
|
class MIMEImage(MIMEBase.MIMEBase):
|
||||||
"""Class for generating image/* type MIME documents."""
|
"""Class for generating image/* type MIME documents."""
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ import Message
|
||||||
import MIMEBase
|
import MIMEBase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class MIMEMessage(MIMEBase.MIMEBase):
|
class MIMEMessage(MIMEBase.MIMEBase):
|
||||||
"""Class representing message/* MIME documents."""
|
"""Class representing message/* MIME documents."""
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ import MIMEBase
|
||||||
from Encoders import encode_7or8bit
|
from Encoders import encode_7or8bit
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class MIMEText(MIMEBase.MIMEBase):
|
class MIMEText(MIMEBase.MIMEBase):
|
||||||
"""Class for generating text/* type MIME documents."""
|
"""Class for generating text/* type MIME documents."""
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ SEMISPACE = '; '
|
||||||
paramre = re.compile(r';\s*')
|
paramre = re.compile(r';\s*')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Message:
|
class Message:
|
||||||
"""Basic message object for use inside the object tree.
|
"""Basic message object for use inside the object tree.
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ EMPTYSTRING = ''
|
||||||
NL = '\n'
|
NL = '\n'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Parser:
|
class Parser:
|
||||||
def __init__(self, _class=Message.Message):
|
def __init__(self, _class=Message.Message):
|
||||||
"""Parser of RFC 2822 and MIME email messages.
|
"""Parser of RFC 2822 and MIME email messages.
|
||||||
|
|
|
@ -21,7 +21,7 @@ COMMASPACE = ', '
|
||||||
UEMPTYSTRING = u''
|
UEMPTYSTRING = u''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Helpers
|
# Helpers
|
||||||
|
|
||||||
def _identity(s):
|
def _identity(s):
|
||||||
|
@ -42,7 +42,7 @@ def _bdecode(s):
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getaddresses(fieldvalues):
|
def getaddresses(fieldvalues):
|
||||||
"""Return a list of (REALNAME, EMAIL) for each fieldvalue."""
|
"""Return a list of (REALNAME, EMAIL) for each fieldvalue."""
|
||||||
all = COMMASPACE.join(fieldvalues)
|
all = COMMASPACE.join(fieldvalues)
|
||||||
|
@ -50,7 +50,7 @@ def getaddresses(fieldvalues):
|
||||||
return a.getaddrlist()
|
return a.getaddrlist()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ecre = re.compile(r'''
|
ecre = re.compile(r'''
|
||||||
=\? # literal =?
|
=\? # literal =?
|
||||||
(?P<charset>[^?]*?) # non-greedy up to the next ? is the charset
|
(?P<charset>[^?]*?) # non-greedy up to the next ? is the charset
|
||||||
|
@ -92,7 +92,7 @@ def decode(s):
|
||||||
return UEMPTYSTRING.join(rtn)
|
return UEMPTYSTRING.join(rtn)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def encode(s, charset='iso-8859-1', encoding='q'):
|
def encode(s, charset='iso-8859-1', encoding='q'):
|
||||||
"""Encode a string according to RFC 2047."""
|
"""Encode a string according to RFC 2047."""
|
||||||
if encoding.lower() == 'q':
|
if encoding.lower() == 'q':
|
||||||
|
|
|
@ -22,7 +22,7 @@ __all__ = ['Encoders',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Some convenience routines
|
# Some convenience routines
|
||||||
from Parser import Parser as _Parser
|
from Parser import Parser as _Parser
|
||||||
from Message import Message as _Message
|
from Message import Message as _Message
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue