Current File : //proc/self/root/opt/alt/python35/lib64/python3.5/email/__pycache__/parser.cpython-35.pyc
�q�\��@s�dZddddddgZddlmZmZdd lmZmZdd
lm Z Gdd�d�Z
Gdd�de
�ZGd
d�d�ZGdd�de�Z
dS)z-A parser of RFC 2822 and MIME email messages.�Parser�HeaderParser�BytesParser�BytesHeaderParser�
FeedParser�BytesFeedParser�)�StringIO�
TextIOWrapper)rr)�compat32c@sCeZdZddedd�Zddd�Zddd �ZdS)
rN�policycCs||_||_dS)a�Parser of RFC 2822 and MIME email messages.
Creates an in-memory object tree representing the email message, which
can then be manipulated and turned over to a Generator to return the
textual representation of the message.
The string must be formatted as a block of RFC 2822 headers and header
continuation lines, optionally preceded by a `Unix-from' header. The
header block is terminated either by the end of the string or by a
blank line.
_class is the class to instantiate for new message objects when they
must be created. This class must have a constructor that can take
zero arguments. Default is Message.Message.
The policy keyword specifies a policy object that controls a number of
aspects of the parser's operation. The default policy maintains
backward compatibility.
N)�_classr)�selfrr�r�1/opt/alt/python35/lib64/python3.5/email/parser.py�__init__s zParser.__init__FcCs\t|jd|j�}|r(|j�x'|jd�}|sAP|j|�q+W|j�S)a\Create a message structure from the data in a file.
Reads all the data from the file and returns the root of the message
structure. Optional headersonly is a flag specifying whether to stop
parsing after reading the headers or not. The default is False,
meaning it parses the entire contents of the file.
ri )rrrZ_set_headersonly�readZfeed�close)r
�fp�headersonlyZ
feedparser�datarrr�parse*s
zParser.parsecCs|jt|�d|�S)a-Create a message structure from a string.
Returns the root of the message structure. Optional headersonly is a
flag specifying whether to stop parsing after reading the headers or
not. The default is False, meaning it parses the entire contents of
the file.
r)rr)r
�textrrrr�parsestr<szParser.parsestr)�__name__�
__module__�__qualname__r
rrrrrrrrsc@s.eZdZddd�Zddd�ZdS)rTcCstj||d�S)NT)rr)r
rrrrrrIszHeaderParser.parsecCstj||d�S)NT)rr)r
rrrrrrLszHeaderParser.parsestrN)rrrrrrrrrrHsc@s:eZdZdd�Zddd�Zddd�ZdS) rcOst||�|_dS)a�Parser of binary RFC 2822 and MIME email messages.
Creates an in-memory object tree representing the email message, which
can then be manipulated and turned over to a Generator to return the
textual representation of the message.
The input must be formatted as a block of RFC 2822 headers and header
continuation lines, optionally preceded by a `Unix-from' header. The
header block is terminated either by the end of the input or by a
blank line.
_class is the class to instantiate for new message objects when they
must be created. This class must have a constructor that can take
zero arguments. Default is Message.Message.
N)r�parser)r
�args�kwrrrrRszBytesParser.__init__Fc
CsAt|dddd�}z|jj||�SWd|j�XdS)acCreate a message structure from the data in a binary file.
Reads all the data from the file and returns the root of the message
structure. Optional headersonly is a flag specifying whether to stop
parsing after reading the headers or not. The default is False,
meaning it parses the entire contents of the file.
�encoding�ascii�errors�surrogateescapeN)r rr�detach)r
rrrrrrdszBytesParser.parsecCs(|jddd�}|jj||�S)a2Create a message structure from a byte string.
Returns the root of the message structure. Optional headersonly is a
flag specifying whether to stop parsing after reading the headers or
not. The default is False, meaning it parses the entire contents of
the file.
�ASCIIr!r")�decoderr)r
rrrrr�
parsebytessszBytesParser.parsebytesN)rrrrrr&rrrrrPsc@s.eZdZddd�Zddd�ZdS)rTcCstj||dd�S)NrT)rr)r
rrrrrr�szBytesHeaderParser.parsecCstj||dd�S)NrT)rr&)r
rrrrrr&�szBytesHeaderParser.parsebytesN)rrrrr&rrrrrsN)�__doc__�__all__�iorr Zemail.feedparserrrZemail._policybaser
rrrrrrrr�<module>s7/