Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python311/lib64/python3.11/email/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python311/lib64/python3.11/email/__pycache__/generator.cpython-311.pyc
�

!A?hNQ���dZgd�ZddlZddlZddlZddlZddlmZddlm	Z	m
Z
ddlmZddl
mZdZd	Zejd
��Zejdej��Zejd��ZGd
�d��ZGd�de��ZdZGd�de��Zeeejdz
����ZdezZejZdS)z:Classes to generate plain text from a message object tree.)�	Generator�DecodedGenerator�BytesGenerator�N)�deepcopy)�StringIO�BytesIO)�_has_surrogates)�HeaderWriteError�_�
z
\r\n|\r|\nz^From z\r\n[^ \t]|\r[^ \n\t]|\n[^ \t]c��eZdZdZddd�d�Zd�Zdd�Zd�Zd	�Zd
�Z	d�Z
d�Zd
�Zd�Z
d�ZeZd�Zd�Zd�Zd�Zedd���Zed���ZdS)rz�Generates output from a Message object tree.

    This basic generator writes the message to the given file object as plain
    text.
    N��policyc�X�|�|�dn|j}||_||_||_||_dS)a�Create the generator for message flattening.

        outfp is the output file-like object for writing the message to.  It
        must have a write() method.

        Optional mangle_from_ is a flag that, when True (the default if policy
        is not set), escapes From_ lines in the body of the message by putting
        a `>' in front of them.

        Optional maxheaderlen specifies the longest length for a non-continued
        header.  When a header line is longer (in characters, with tabs
        expanded to 8 spaces) than maxheaderlen, the header will split as
        defined in the Header class.  Set maxheaderlen to zero to disable
        header wrapping.  The default is 78, as recommended (but not required)
        by RFC 2822.

        The policy keyword specifies a policy object that controls a number of
        aspects of the generator's operation.  If no policy is specified,
        the policy associated with the Message object passed to the
        flatten method is used.

        NT)�mangle_from_�_fp�
_mangle_from_�maxheaderlenr)�self�outfprrrs     �6/opt/alt/python311/lib64/python3.11/email/generator.py�__init__zGenerator.__init__%s<��2��#)�>�4�4�v�7J�L����)���(��������c�:�|j�|��dS�N)r�write�r�ss  rrzGenerator.writeEs������q�����rFc��|j�|jn|j}|�|�|���}|j�|�|j���}|j|_|�|j��|_d|_|�|j��|_|j}|j}	||_||_|r[|�	��}|s(dtjtj
����z}|�||jz��|�
|��||_||_dS#||_||_wxYw)a�Print the message object tree rooted at msg to the output file
        specified when the Generator instance was created.

        unixfrom is a flag that forces the printing of a Unix From_ delimiter
        before the first object in the message tree.  If the original message
        has no From_ delimiter, a `standard' one is crafted.  By default, this
        is False to inhibit the printing of any From_ delimiter.

        Note that for subobjects, no From_ line is printed.

        linesep specifies the characters used to indicate a new line in
        the output.  The default value is determined by the policy specified
        when the Generator instance was created or, if none was specified,
        from the policy associated with the msg.

        N)�linesep��max_line_length�zFrom nobody )r�clonerr �_NL�_encode�_encoded_NL�_EMPTY�_encoded_EMPTY�get_unixfrom�time�ctimer�_write)r�msg�unixfromr r�old_gen_policy�old_msg_policy�ufroms        r�flattenzGenerator.flattenIsE��* $�{�2����������\�\�'�\�2�2�F���(��\�\�$�2C�\�D�D�F��>����<�<���1�1������"�l�l�4�;�7�7���
������	(� �D�K��C�J��
-��(�(�*�*���E�*�T�Z��	���-D�-D�D�E��
�
�5�4�8�+�,�,�,��K�K�����(�D�K�'�C�J�J�J��)�D�K�'�C�J�'�'�'�'s
�0BE�Ec�H�|�||jd|j���S)z1Clone this generator with the exact same options.Nr)�	__class__rr)r�fps  rr$zGenerator.clonezs-���~�~�b�"�0�"�%)�[��2�2�	2rc��t��Sr)r�rs r�_new_bufferzGenerator._new_buffer�s���z�z�rc��|Sr�rs  rr&zGenerator._encode�s���rc��|sdSt�|��}|dd�D]1}|�|��|�|j���2|dr|�|d��dSdS)N���)�NLCRE�splitrr%)r�lines�lines   r�_write_lineszGenerator._write_lines�s����	��F����E�"�"���#�2�#�J�	!�	!�D��J�J�t�����J�J�t�x� � � � ���9�	"��J�J�u�R�y�!�!�!�!�!�	"�	"rc�d�|j}	d|_|���x|_}|�|��||_|j}|`n#||_|j}|`wxYw|rht	|��}|�d���|d|d<n|�d|d��|�d|d��t|dd��}|�|�|��n||��|j�	|�
����dS)N�content-transfer-encodingr�Content-Transfer-Encoding�content-type��_write_headers)r�
_munge_cter9�	_dispatchr�get�replace_header�getattrrHr�getvalue)rr.�oldfp�sfp�	munge_cte�meths      rr-zGenerator._write�sD�����	 �"�D�O�!�-�-�/�/�/�D�H�s��N�N�3�����D�H���I������D�H���I��������	=��3�-�-�C��w�w�2�3�3�;�3<�Q�<��/�0�0��"�"�#>�	�!��M�M�M����~�y��|�<�<�<��s�,�d�3�3���<�����$�$�$�$��D��J�J�J�����s�|�|�~�~�&�&�&�&�&s�7A�A#c�^�|���}|���}t�||f���dd��}t|d|zd��}|�3|�dd��}t|d|zd��}|�|j}||��dS)N�-r�_handle_)�get_content_maintype�get_content_subtype�
UNDERSCORE�join�replacerM�
_writeBody)rr.�main�sub�specificrR�generics       rrJzGenerator._dispatch�s���
�'�'�)�)���%�%�'�'���?�?�D�#�;�/�/�7�7��S�A�A���t�Z�(�2�D�9�9���<��l�l�3��,�,�G��4��g�!5�t�<�<�D��|������S�	�	�	�	�	rc���|���D]�\}}|j�||��}|jjr|jj}|�|jj��st
d|�d|�����t�|�	|����rt
d|�����|�
|����|�
|j��dS)Nz folded header does not end with z: z folded header contains newline: )�	raw_itemsr�fold�verify_generated_headersr �endswithr
�NEWLINE_WITHOUT_FWSP�search�removesuffixrr%)rr.�h�v�foldedr s      rrHzGenerator._write_headers�s���M�M�O�O�
	�
	�D�A�q��[�%�%�a��+�+�F��{�3�
G��+�-�����t�{�':�;�;�T�*�R�7�R�R��R�R�T�T�T�'�.�.�v�/B�/B�7�/K�/K�L�L�G�*�E�6�E�E�G�G�G��J�J�v������
�
�4�8�����rc��|���}|�dSt|t��stdt	|��z���t|j��rm|�d��}|�Vt|��}|d=|�	|j|��|���}|d|df|_
|jrt�
d|��}|�|��dS)Nzstring payload expected: %s�charsetrDrF�>From )�get_payload�
isinstance�str�	TypeError�typer	�_payload�	get_paramr�set_payloadrIr�fcrer]rB)rr.�payloadrls    r�_handle_textzGenerator._handle_text�s����/�/�#�#���?��F��'�3�'�'�	K��9�D��M�M�I�J�J�J��3�<�(�(�
	8��m�m�I�.�.�G��"��s�m�m���3�4������g�6�6�6��/�/�+�+��#&�'B�#C�#&�~�#6�#8�����	2��h�h�x��1�1�G����'�"�"�"�"�"rc�B�g}|���}|�g}nDt|t��r|�|��dSt|t��s|g}|D]o}|���}|�|��}|�|d|j���|�	|�
�����p|���}|sD|j�
|��}|�|��}|�|��|j�^|jr!t$�d|j��}	n|j}	|�|	��|�|j��|�d|z|jz��|r-|j�|�d����|D]D}
|�|jdz|z|jz��|j�|
���E|�|jdz|zdz|jz��|j�F|jr!t$�d|j��}n|j}|�|��dSdS)NF�r/r rmz--r)rnrorpr�listr9r$r3r%�appendrN�get_boundaryr'rY�_make_boundary�set_boundary�preamblerrvr]rBr�pop�epilogue)rr.�msgtexts�subparts�partr�g�boundary�alltextr��	body_partr�s            r�_handle_multipartzGenerator._handle_multiparts������?�?�$�$�����H�H�
��#�
&�
&�	"��J�J�x� � � ��F��H�d�+�+�	"� �z�H��	*�	*�D�� � �"�"�A��
�
�1�
�
�A�
�I�I�d�U�D�H�I�=�=�=��O�O�A�J�J�L�L�)�)�)�)��#�#�%�%���	'��&�+�+�H�5�5�G��*�*�7�3�3�H����X�&�&�&��<�#��!�
(��8�8�H�c�l�;�;����<�����h�'�'�'��J�J�t�x� � � ��
�
�4�(�?�T�X�-�.�.�.��	,��H�N�N�8�<�<��?�?�+�+�+�"�	&�	&�I��J�J�t�x�$���1�D�H�<�=�=�=��H�N�N�9�%�%�%�%��
�
�4�8�d�?�X�-��4�t�x�?�@�@�@��<�#��!�
(��8�8�H�c�l�;�;����<�����h�'�'�'�'�'�$�#rc��|j}|�d���|_	|�|��||_dS#||_wxYw)Nrr!)rr$r�)rr.�ps   r�_handle_multipart_signedz"Generator._handle_multipart_signedFsS��
�K���g�g�a�g�0�0���	��"�"�3�'�'�'��D�K�K�K��!�D�K�O�O�O�Os�A�	Ac�@�g}|���D]�}|���}|�|��}|�|d|j���|���}|�|j��}|rG|d|jkr6|�	|j�
|dd�������|�	|����|j�|j�
|����dS)NFrzr=)
rnr9r$r3r%rNr?r'r)r|rYrr)rr.�blocksr�rr��textr@s        r�_handle_message_delivery_statusz)Generator._handle_message_delivery_statusQs�����O�O�%�%�
	$�
	$�D�� � �"�"�A��
�
�1�
�
�A�
�I�I�d�U�D�H�I�=�=�=��:�:�<�<�D��J�J�t�/�0�0�E��
$��r��d�&9�9�9��
�
�d�.�3�3�E�#�2�#�J�?�?�@�@�@�@��
�
�d�#�#�#�#�	
����t�'�,�,�V�4�4�5�5�5�5�5rc�x�|���}|�|��}|j}t|t��rE|�|�d��d|j���|���}n|�	|��}|j
�|��dS)NrFrz)r9r$rsror{r3rnr%rNr&rr)rr.rr�rws     r�_handle_messagezGenerator._handle_messagefs����������J�J�q�M�M���,���g�t�$�$�	,�
�I�I�c�o�o�a�(�(�5�$�(�I�K�K�K��j�j�l�l�G�G��l�l�7�+�+�G�����w�����rc�F�tjtj��}dt|zzdz}|�|S|}d}	|�dt
j|��zdztj��}|�	|��sn|dzt|��z}|dz
}�i|S)	Nz===============z==rTz^--z(--)?$�.rG)�random�	randrange�sys�maxsize�_fmt�_compile_re�re�escape�	MULTILINErfrp)�clsr��tokenr��b�counter�cres       rr~zGenerator._make_boundarys���� ���-�-������.��5���<��O�����	��/�/�%�"�)�A�,�,�"6��"A�2�<�P�P�C��:�:�d�#�#�
���3���W���-�A��q�L�G�	��rc�,�tj||��Sr)r��compile�r�r�flagss   rr�zGenerator._compile_re�s���z�!�U�#�#�#r)NN)FNr)�__name__�
__module__�__qualname__�__doc__rrr3r$r9r&rBr-rJrHrxr[r�r�r�r��classmethodr~r�r;rrrrs\���������������@���/(�/(�/(�/(�b2�2�2�(������	"�	"�	"� %'�%'�%'�N���(
�
�
�&#�#�#�,�J�8(�8(�8(�t	�	�	�6�6�6�* � � �2�����[��"�$�$��[�$�$�$rrc�T��eZdZdZd�Zd�Zd�Zd�Z�fd�ZeZ	e
d���Z�xZS)ra�Generates a bytes version of a Message object tree.

    Functionally identical to the base Generator except that the output is
    bytes and not string.  When surrogates were used in the input to encode
    bytes, these are decoded back to bytes for output.  If the policy has
    cte_type set to 7bit, then the message is transformed such that the
    non-ASCII bytes are properly content transfer encoded, using the charset
    unknown-8bit.

    The outfp object must accept bytes in its write method.
    c�b�|j�|�dd����dS)N�ascii�surrogateescape)rr�encoders  rrzBytesGenerator.write�s+������q�x�x��):�;�;�<�<�<�<�<rc��t��Sr)rr8s rr9zBytesGenerator._new_buffer�s���y�y�rc�,�|�d��S�Nr�)r�rs  rr&zBytesGenerator._encode�s���x�x�� � � rc���|���D]8\}}|j�|j�||�����9|�|j��dSr)rarrr�fold_binaryr%)rr.rhris    rrHzBytesGenerator._write_headers�sb���M�M�O�O�	:�	:�D�A�q��H�N�N�4�;�2�2�1�a�8�8�9�9�9�9��
�
�4�8�����rc�B��|j�dSt|j��rX|jjdksH|jr%t
�d|j��|_|�|j��dStt|���
|��dS)N�7bitrm)rsr	r�cte_typerrvr]rB�superrrx)rr.r5s  �rrxzBytesGenerator._handle_text�s�����<���F��3�<�(�(�	9���1E�v�1M�1M��!�
@�#�x�x��#�,�?�?������c�l�+�+�+�+�+��.��&�&�3�3�C�8�8�8�8�8rc�R�tj|�d��|��Sr�)r�r�r�r�s   rr�zBytesGenerator._compile_re�s ���z�!�(�(�7�+�+�U�3�3�3r)
r�r�r�r�rr9r&rHrxr[r�r��
__classcell__)r5s@rrr�s��������
�
�=�=�=����!�!�!����
9�
9�
9�
9�
9��J��4�4��[�4�4�4�4�4rrzD[Non-text (%(type)s) part of message omitted, filename %(filename)s]c�&�eZdZdZddd�d�Zd�ZdS)rz�Generates a text representation of a message.

    Like the Generator base class, except that non-text parts are substituted
    with a format string representing the part.
    Nrc�r�t�|||||���|�t|_dS||_dS)a�Like Generator.__init__() except that an additional optional
        argument is allowed.

        Walks through all subparts of a message.  If the subpart is of main
        type `text', then it prints the decoded payload of the subpart.

        Otherwise, fmt is a format string that is used instead of the message
        payload.  fmt is expanded with the following keywords (in
        %(keyword)s format):

        type       : Full MIME type of the non-text part
        maintype   : Main MIME type of the non-text part
        subtype    : Sub-MIME type of the non-text part
        filename   : Filename of the non-text part
        description: Description associated with the non-text part
        encoding   : Content transfer encoding of the non-text part

        The default value for fmt is None, meaning

        [Non-text (%(type)s) part of message omitted, filename %(filename)s]
        rN)rr�_FMTr�)rrrr�fmtrs      rrzDecodedGenerator.__init__�sG��.	���4���l�"(�	�	*�	*�	*��;��D�I�I�I��D�I�I�Irc
���|���D]�}|���}|dkr&t|�d���|����B|dkr�It|j|���|���|���|�d��|�dd��|�d	d
��d�z|�����dS)Nr�F)�decode)�file�	multipartz
[no filename]zContent-Descriptionz[no description]rEz
[no encoding])rr�maintype�subtype�filename�description�encoding)	�walkrV�printrnr��get_content_typerW�get_filenamerK)rr.r�r�s    rrJzDecodedGenerator._dispatch�s���H�H�J�J�	"�	"�D��0�0�2�2�H��6�!�!��d�&�&�e�&�4�4�4�@�@�@�@�@��[�(�(���d�i�#'�#8�#8�#:�#:�#'�#<�#<�#>�#>�#'�#;�#;�#=�#=�#'�#4�#4�_�#E�#E�#'�8�8�,A�,>�$@�$@�#'�8�8�,G�,;�$=�$=�	#�	#�	�!�	"�	"�	"�	"�	"�	"�	"r)NNN)r�r�r�r�rrJr;rrrr�sN��������
�������<"�"�"�"�"rrrGz%%0%dd) r��__all__r�r�r+r��copyr�iorr�email.utilsr	�email.errorsr
rX�NLr�r>r�rvrerrr�r�len�reprr��_widthr�r~r;rr�<module>r�s���
A�@�
=�
=�
=��	�	�	�	�
�
�
�
�����
�
�
�
������� � � � � � � � �'�'�'�'�'�'�)�)�)�)�)�)�
�
�	����
�=�!�!���r�z�)�R�\�*�*��!�r�z�"C�D�D��x$�x$�x$�x$�x$�x$�x$�x$�v/4�/4�/4�/4�/4�Y�/4�/4�/4�dN��6"�6"�6"�6"�6"�y�6"�6"�6"�t

��T�T�#�+�a�-�
 �
 �	!�	!���&����)���r
Name
Size
Permissions
Options
__init__.cpython-311.opt-1.pyc
2.074 KB
-rw-r--r--
__init__.cpython-311.opt-2.pyc
1.492 KB
-rw-r--r--
__init__.cpython-311.pyc
2.074 KB
-rw-r--r--
_encoded_words.cpython-311.opt-1.pyc
8.917 KB
-rw-r--r--
_encoded_words.cpython-311.opt-2.pyc
7.088 KB
-rw-r--r--
_encoded_words.cpython-311.pyc
8.917 KB
-rw-r--r--
_header_value_parser.cpython-311.opt-1.pyc
147.039 KB
-rw-r--r--
_header_value_parser.cpython-311.opt-2.pyc
130.877 KB
-rw-r--r--
_header_value_parser.cpython-311.pyc
147.123 KB
-rw-r--r--
_parseaddr.cpython-311.opt-1.pyc
23.744 KB
-rw-r--r--
_parseaddr.cpython-311.opt-2.pyc
20.958 KB
-rw-r--r--
_parseaddr.cpython-311.pyc
23.744 KB
-rw-r--r--
_policybase.cpython-311.opt-1.pyc
19.253 KB
-rw-r--r--
_policybase.cpython-311.opt-2.pyc
10.32 KB
-rw-r--r--
_policybase.cpython-311.pyc
19.253 KB
-rw-r--r--
base64mime.cpython-311.opt-1.pyc
4.263 KB
-rw-r--r--
base64mime.cpython-311.opt-2.pyc
2.553 KB
-rw-r--r--
base64mime.cpython-311.pyc
4.263 KB
-rw-r--r--
charset.cpython-311.opt-1.pyc
15.6 KB
-rw-r--r--
charset.cpython-311.opt-2.pyc
9.476 KB
-rw-r--r--
charset.cpython-311.pyc
15.659 KB
-rw-r--r--
contentmanager.cpython-311.opt-1.pyc
13.52 KB
-rw-r--r--
contentmanager.cpython-311.opt-2.pyc
13.52 KB
-rw-r--r--
contentmanager.cpython-311.pyc
13.52 KB
-rw-r--r--
encoders.cpython-311.opt-1.pyc
2.344 KB
-rw-r--r--
encoders.cpython-311.opt-2.pyc
2.022 KB
-rw-r--r--
encoders.cpython-311.pyc
2.344 KB
-rw-r--r--
errors.cpython-311.opt-1.pyc
8.475 KB
-rw-r--r--
errors.cpython-311.opt-2.pyc
6.917 KB
-rw-r--r--
errors.cpython-311.pyc
8.475 KB
-rw-r--r--
feedparser.cpython-311.opt-1.pyc
20.808 KB
-rw-r--r--
feedparser.cpython-311.opt-2.pyc
19.205 KB
-rw-r--r--
feedparser.cpython-311.pyc
21.003 KB
-rw-r--r--
generator.cpython-311.opt-1.pyc
21.892 KB
-rw-r--r--
generator.cpython-311.opt-2.pyc
18.303 KB
-rw-r--r--
generator.cpython-311.pyc
21.892 KB
-rw-r--r--
header.cpython-311.opt-1.pyc
26.357 KB
-rw-r--r--
header.cpython-311.opt-2.pyc
20.911 KB
-rw-r--r--
header.cpython-311.pyc
26.357 KB
-rw-r--r--
headerregistry.cpython-311.opt-1.pyc
32.91 KB
-rw-r--r--
headerregistry.cpython-311.opt-2.pyc
27.447 KB
-rw-r--r--
headerregistry.cpython-311.pyc
32.975 KB
-rw-r--r--
iterators.cpython-311.opt-1.pyc
3.103 KB
-rw-r--r--
iterators.cpython-311.opt-2.pyc
2.523 KB
-rw-r--r--
iterators.cpython-311.pyc
3.103 KB
-rw-r--r--
message.cpython-311.opt-1.pyc
57.668 KB
-rw-r--r--
message.cpython-311.opt-2.pyc
41.763 KB
-rw-r--r--
message.cpython-311.pyc
57.668 KB
-rw-r--r--
parser.cpython-311.opt-1.pyc
7.225 KB
-rw-r--r--
parser.cpython-311.opt-2.pyc
4.322 KB
-rw-r--r--
parser.cpython-311.pyc
7.225 KB
-rw-r--r--
policy.cpython-311.opt-1.pyc
12.262 KB
-rw-r--r--
policy.cpython-311.opt-2.pyc
6.231 KB
-rw-r--r--
policy.cpython-311.pyc
12.262 KB
-rw-r--r--
quoprimime.cpython-311.opt-1.pyc
10.987 KB
-rw-r--r--
quoprimime.cpython-311.opt-2.pyc
7.655 KB
-rw-r--r--
quoprimime.cpython-311.pyc
10.987 KB
-rw-r--r--
utils.cpython-311.opt-1.pyc
18.872 KB
-rw-r--r--
utils.cpython-311.opt-2.pyc
15.414 KB
-rw-r--r--
utils.cpython-311.pyc
18.872 KB
-rw-r--r--