Your IP : 52.14.223.136


Current Path : /opt/alt/python312/lib64/python3.12/email/__pycache__/
Upload File :
Current File : //opt/alt/python312/lib64/python3.12/email/__pycache__/parser.cpython-312.pyc

�

�Q�fo���dZgd�ZddlmZmZddlmZmZddlm	Z	Gd�d�Z
Gd�d	e
�ZGd
�d�ZGd�d
e�Z
y)z-A parser of RFC 2822 and MIME email messages.)�Parser�HeaderParser�BytesParser�BytesHeaderParser�
FeedParser�BytesFeedParser�)�StringIO�
TextIOWrapper)rr)�compat32c�*�eZdZded�d�Zdd�Zdd�Zy)rN��policyc� �||_||_y)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)�selfrrs   �3/opt/alt/python312/lib64/python3.12/email/parser.py�__init__zParser.__init__s��*������c��t|j|j��}|r|j�|j	d�x}r%|j|�|j	d�x}r�%|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.
        r
i )rrr�_set_headersonly�read�feed�close)r�fp�headersonly�
feedparser�datas     r�parsezParser.parse)sj�� ����D�K�K�@�
���'�'�)��g�g�d�m�#�d�#��O�O�D�!��g�g�d�m�#�d�#����!�!rc�:�|jt|�|��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�textrs   r�parsestrzParser.parsestr8s���z�z�(�4�.�k�z�B�Br)N�F)�__name__�
__module__�__qualname__rrrr#�rrrrs���h��0
"�Crrc��eZdZdd�Zdd�Zy)rc�0�tj||d�S�NT)rr�rrrs   rrzHeaderParser.parseDs���|�|�D�"�d�+�+rc�0�tj||d�Sr+)rr#r!s   rr#zHeaderParser.parsestrGs�����t�T�4�0�0rN�T)r%r&r'rr#r(rrrrCs��,�1rrc�"�eZdZd�Zdd�Zdd�Zy)rc�$�t|i|��|_y)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�kws   rrzBytesParser.__init__Ms�� �d�)�b�)��rc��t|dd��}	|jj||�|j�S#|j�wxYw)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�errors)r
r1r�detachr,s   rrzBytesParser.parse_s?���2��8I�
J��	��;�;�$�$�R��5��I�I�K��B�I�I�K�s	�<�Ac�`�|jdd��}|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.
        �ASCIIr6)r8)�decoder1r#r!s   r�
parsebyteszBytesParser.parsebytesns.���{�{�7�+<�{�=���{�{�#�#�D�+�6�6rNr$)r%r&r'rrr=r(rrrrKs��*�$�	7rrc��eZdZdd�Zdd�Zy)rc�2�tj||d��S�NTr )rrr,s   rrzBytesHeaderParser.parse{s��� � ��r�t� �<�<rc�2�tj||d��Sr@)rr=r!s   rr=zBytesHeaderParser.parsebytes~s���%�%�d�D�d�%�C�CrNr.)r%r&r'rr=r(rrrrzs
��=�DrrN)�__doc__�__all__�ior	r
�email.feedparserrr�email._policybaserrrrrr(rr�<module>rGsN��
4�,��'�8�&�0C�0C�f1�6�1�,7�,7�^D��Dr

?>