ok
Direktori : /proc/thread-self/root/opt/alt/python34/lib64/python3.4/email/__pycache__/ |
Current File : //proc/thread-self/root/opt/alt/python34/lib64/python3.4/email/__pycache__/policy.cpython-34.pyo |
� e fJ$ � @ s� d Z d d l m Z m Z m Z m Z d d l m Z d d l m Z d d l m Z d d d d d d d d g Z e Gd d � d e � � Z e � Z e ` e j d d � Z e j d d � Z e j d d d d � Z d S)zcThis will be the home for the policy that hooks in the new code that adds all the email6 features. � )�Policy�Compat32�compat32�_extend_docstrings)�_has_surrogates)�HeaderRegistry)�raw_data_managerr r r �EmailPolicy�default�strict�SMTP�HTTPc s� e Z d Z d Z d Z e � Z e Z � f d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d d � Z � S)r a� + 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: 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`. �longc s9 d | k r% t j | d t � � n t � j | � d S)N�header_factory)�object�__setattr__r �super�__init__)�self�kw)� __class__� �1/opt/alt/python34/lib64/python3.4/email/policy.pyr O s zEmailPolicy.__init__c C s | j | j S)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_countV s zEmailPolicy.header_max_countc C sU | d j d d � \ } } | j d � d j | d d � � } | | j d � f S)ac + The name is parsed as everything up to the ':' and returned unmodified. The value is determined by stripping leading whitespace off the remainder of the first line, joining all subsequent lines together, and stripping any trailing carriage return or linefeed characters. (This is the same as Compat32). r �:� z � Nz )�split�lstrip�join�rstrip)r Zsourcelinesr �valuer r r �header_source_parseh s &zEmailPolicy.header_source_parsec C s� t | d � r4 | j j � | j � k r4 | | f St | t � rj t | j � � d k rj t d � � n | | j | | � f S)a� + The name is returned unchanged. If the input value has a 'name' attribute and it matches the name ignoring case, the value is returned unchanged. Otherwise the name and value are passed to header_factory method, and the resulting custom header object is returned as the value. In this case a ValueError is raised if the input value contains CR or LF characters. r r zDHeader values may not contain linefeed or carriage return characters) �hasattrr �lower� isinstance�str�len� splitlines� ValueErrorr )r r r"