Your IP : 52.15.35.129
a
R�f�( � @ s� d Z ddlZddlZddlmZmZmZmZ ddlm Z ddl
mZ ddlm
Z
ddlmZ g d�Ze�d �ZeG d
d� de��Ze� Ze`ejdd
�Zejdd�Zejddd�Zejdd�ZdS )zcThis will be the home for the policy that hooks in the new
code that adds all the email6 features.
� N)�Policy�Compat32�compat32�_extend_docstrings)�_has_surrogates)�HeaderRegistry)�raw_data_manager)�EmailMessage)r r r �EmailPolicy�default�strict�SMTP�HTTPz\n|\rc sp e Zd ZdZeZdZdZe� Z e
Z� fdd�Zdd� Z
dd � Zd
d� Zdd
� Zdd� Zdd� Zddd�Z� ZS )r
aQ +
PROVISIONAL
The API extensions enabled by this policy are currently provisional.
Refer to the documentation for details.
This policy adds new header parsing and folding algorithms. Instead of
simple strings, headers are custom objects with custom attributes
depending on the type of the field. The folding algorithm fully
implements RFCs 2047 and 5322.
In addition to the settable attributes listed above that apply to
all Policies, this policy adds the following additional attributes:
utf8 -- if False (the default) message headers will be
serialized as ASCII, using encoded words to encode
any non-ASCII characters in the source strings. If
True, the message headers will be serialized using
utf8 and will not contain encoded words (see RFC
6532 for more on this serialization format).
refold_source -- if the value for a header in the Message object
came from the parsing of some source, this attribute
indicates whether or not a generator should refold
that value when transforming the message back into
stream form. The possible values are:
none -- all source values use original folding
long -- source values that have any line that is
longer than max_line_length will be
refolded
all -- all values are refolded.
The default is 'long'.
header_factory -- a callable that takes two arguments, 'name' and
'value', where 'name' is a header field name and
'value' is an unfolded header field value, and
returns a string-like object that represents that
header. A default header_factory is provided that
understands some of the RFC5322 header field types.
(Currently address fields and date fields have
special treatment, while all other fields are
treated as unstructured. This list will be
completed before the extension is marked stable.)
content_manager -- an object with at least two methods: get_content
and set_content. When the get_content or
set_content method of a Message object is called,
it calls the corresponding method of this object,
passing it the message object as its first argument,
and any arguments or keywords that were passed to
it as additional arguments. The default
content_manager is
:data:`~email.contentmanager.raw_data_manager`.
F�longc s. d|vrt �| dt� � t� jf i |�� d S )N�header_factory)�object�__setattr__r �super�__init__)�self�kw�� __class__� �1/opt/alt/python39/lib64/python3.9/email/policy.pyr ] s zEmailPolicy.__init__c C s | j | jS )z�+
The implementation for this class returns the max_count attribute from
the specialized header class that would be used to construct a header
of type 'name'.
)r Z max_count)r �namer r r �header_max_countd s zEmailPolicy.header_max_countc C s>