Your IP : 18.191.91.15
�
�Q�fo � � � d Z g d�ZddlmZmZ ddlmZmZ ddlm Z G d� d� Z
G d� d e
� Z G d
� d� Z G d� d
e� Z
y)z-A parser of RFC 2822 and MIME email messages.)�Parser�HeaderParser�BytesParser�BytesHeaderParser�
FeedParser�BytesFeedParser� )�StringIO�
TextIOWrapper)r r )�compat32c �* � e Zd Zded�d�Zdd�Zdd�Zy)r N��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 )�selfr r s �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 )r r r �_set_headersonly�read�feed�close)r �fp�headersonly�
feedparser�datas r �parsezParser.parse) sj � � ����D�K�K�@�
���'�'�)��g�g�d�m�#�d�#��O�O�D�!� �g�g�d�m�#�d�#����!�!r c �: � | j t |� |�� 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 )r r �r �textr s r �parsestrzParser.parsestr8 s � � �z�z�(�4�.�k�z�B�Br )N�F)�__name__�
__module__�__qualname__r r r r# � r r r r s � ��h� �0
"�Cr r c � � e Zd Zdd�Zdd�Zy)r c �0 � t j | |d� S �NT)r r �r r r s r r zHeaderParser.parseD s � ��|�|�D�"�d�+�+r c �0 � t j | |d� S r+ )r r# r! s r r# zHeaderParser.parsestrG s � ����t�T�4�0�0r N�T)r% r&