Your IP : 3.135.241.55


Current Path : /lib64/python3.6/email/__pycache__/
Upload File :
Current File : //lib64/python3.6/email/__pycache__/parser.cpython-36.opt-1.pyc

3


 \��@s�dZddddddgZddlmZmZdd	lmZmZdd
lm	Z	Gdd�d�Z
Gdd�de
�ZGd
d�d�ZGdd�de�Z
dS)z-A parser of RFC 2822 and MIME email messages.�Parser�HeaderParser�BytesParser�BytesHeaderParser�
FeedParser�BytesFeedParser�)�StringIO�
TextIOWrapper)rr)�compat32c@s0eZdZd
ed�dd�Zddd�Zddd	�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)�selfrr�r�/usr/lib64/python3.6/parser.py�__init__szParser.__init__FcCsDt|j|jd�}|r|j�x|jd�}|s.P|j|�qW|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 )rrrZ_set_headersonly�readZfeed�close)r
�fp�headersonlyZ
feedparser�datarrr�parse*s
zParser.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)N)F)F)�__name__�
__module__�__qualname__r
rrrrrrrrs
c@s eZdZddd�Zddd�ZdS)	rTcCstj||d�S)NT)rr)r
rrrrrrIszHeaderParser.parsecCstj||d�S)NT)rr)r
rrrrrrLszHeaderParser.parsestrN)T)T)rrrrrrrrrrHs
c@s(eZdZdd�Zd	dd�Zd
dd�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
Cs,t|ddd�}z|jj||�S|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.
        �ascii�surrogateescape)�encoding�errorsN)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)F)F)rrrrrr&rrrrrPs
c@s eZdZddd�Zddd�ZdS)	rTcCstj||dd�S)NT)r)rr)r
rrrrrr�szBytesHeaderParser.parsecCstj||dd�S)NT)r)rr&)r
rrrrrr&�szBytesHeaderParser.parsebytesN)T)T)rrrrr&rrrrrs
N)�__doc__�__all__�iorr	Zemail.feedparserrrZemail._policybaser
rrrrrrrr�<module>s7/