관리-도구
편집 파일: _policybase.cpython-35.opt-1.pyc
��Yf1: � @ s� d Z d d l Z d d l m Z d d l m Z d d l m Z d d d g Z Gd d � d � Z d d � Z d d � Z Gd d � d e d e j �Z e Gd d � d e � � Z e � Z d S)zwPolicy framework for the email package. Allows fine grained feature control of how the package parses and emits data. � N)�header)�charset)�_has_surrogates�Policy�Compat32�compat32c sX e Z d Z d Z � f d d � Z d d � Z d d � Z d d � Z d d � Z � S)�_PolicyBasea� Policy Object basic framework. This class is useless unless subclassed. A subclass should define class attributes with defaults for any values that are to be managed by the Policy object. The constructor will then allow non-default values to be set for these attributes at instance creation time. The instance will be callable, taking these same attributes keyword arguments, and returning a new instance identical to the called instance except for those values changed by the keyword arguments. Instances may be added, yielding new instances with any non-default values from the right hand operand overriding those in the left hand operand. That is, A + B == A(<non-default values of B>) The repr of an instance can be used to reconstruct the object if and only if the repr of the values can be used to reconstruct those values. c sj xc | j � D]U \ } } t | | � rD t t | � j | | � q t d j | | j j � � � q Wd S)z�Create new Policy, possibly overriding some defaults. See class docstring for a list of overridable attributes. z*{!r} is an invalid keyword argument for {}N) �items�hasattr�superr �__setattr__� TypeError�format� __class__�__name__)�self�kw�name�value)r � �6/opt/alt/python35/lib64/python3.5/email/_policybase.py�__init__) s z_PolicyBase.__init__c C s; d d � | j j � D� } d j | j j d j | � � S)Nc S s( g | ] \ } } d j | | � � q S)z{}={!r})r )�.0r r r r r � <listcomp>8 s z(_PolicyBase.__repr__.<locals>.<listcomp>z{}({})z, )�__dict__r r r r �join)r �argsr r r �__repr__7 s z_PolicyBase.__repr__c K s� | j j | j � } x0 | j j � D] \ } } t j | | | � q% WxZ | j � D]L \ } } t | | � s� t d j | | j j � � � t j | | | � qU W| S)z�Return a new instance with specified attributes changed. The new instance has the same attribute values as the current object, except for the changes passed in as keyword arguments. z*{!r} is an invalid keyword argument for {}) r �__new__r r �objectr r r r r )r r Z newpolicy�attrr r r r �clone<