관리-도구
편집 파일: headerregistry.cpython-37.pyc
B � f�O � @ sj d Z ddlmZ ddlmZ ddlmZ ddlmZ G dd� d�ZG dd � d �Z G d d� de �Zdd � ZG dd� d�Z G dd� de �ZG dd� d�ZG dd� de�ZG dd� d�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� d�ZG d d!� d!�ZG d"d#� d#e�ZG d$d%� d%e�ZG d&d'� d'�Zeeeeeeeeeeeeeeeeeeed(�ZG d)d*� d*�Zd+S ),a; Representing and manipulating email headers via custom objects. This module provides an implementation of the HeaderRegistry API. The implementation is designed to flexibly follow RFC5322 rules. Eventually HeaderRegistry will be a public API, but it isn't yet, and will probably change some before that happens. � )�MappingProxyType)�utils)�errors)�_header_value_parserc @ s^ e Zd Zddd�Zedd� �Zedd� �Zed d � �Zedd� �Zd d� Z dd� Z dd� ZdS )�Address� Nc C s� d� td||||f��}d|ks(d|kr0td��|dk r�|s@|rHtd��t�|�\}}|rjtd�||���|jrz|jd �|j}|j }|| _ || _|| _dS ) a� Create an object representing a full email address. An address can have a 'display_name', a 'username', and a 'domain'. In addition to specifying the username and domain separately, they may be specified together by using the addr_spec keyword *instead of* the username and domain keywords. If an addr_spec string is specified it must be properly quoted according to RFC 5322 rules; an error will be raised if it is not. An Address object has display_name, username, domain, and addr_spec attributes, all of which are read-only. The addr_spec and the string value of the object are both quoted according to RFC5322 rules, but without any Content Transfer Encoding. r N� � z8invalid arguments; address parts cannot contain CR or LFz=addrspec specified when username and/or domain also specifiedz6Invalid addr_spec; only '{}' could be parsed from '{}'r ) �join�filter� ValueError� TypeError�parserZ get_addr_spec�format�all_defects� local_part�domain� _display_name� _username�_domain)�self�display_name�usernamer � addr_specZinputsZa_s�rest� r �9/opt/alt/python37/lib64/python3.7/email/headerregistry.py�__init__ s"