File: //lib/python3/dist-packages/future/backports/email/__pycache__/headerregistry.cpython-310.pyc
o
,�]�P � @ s d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ dd l
mZ dd
l
m
Z G dd� de�ZG d
d� de�ZG dd� de�Zdd� ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG d!d"� d"e�ZG d#d$� d$e�ZG d%d&� d&e�ZG d'd(� d(e�ZG d)d*� d*e�ZG d+d,� d,e�Z i d-e�d.e�d/e�d0e�d1e�d2e�d3e�d4e�d5e�d6e�d7e�d8e�d9e�d:e�d;e�d<e�d=e�ee d>��Z!G d?d@� d@e�Z"dAS )Ba; 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.
� )�unicode_literals)�division)�absolute_import)�super��str)�text_to_native_str)�utils)�errors)�_header_value_parserc @ s^ e Zd Zddd�Zedd� �Zedd� �Zed d
� �Zedd� �Zd
d� Z dd� Z
dd� ZdS )�Address� Nc C sl |dur+|s|rt d��t�|�\}}|rtd�||���|jr%|jd �|j}|j}|| _|| _ || _
dS )a� Create an object represeting 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.
Nz=addrspec specified when username and/or domain also specifiedz6Invalid addr_spec; only '{}' could be parsed from '{}'r )� TypeError�parser�
get_addr_spec�
ValueError�format�all_defects�
local_part�domain�
_display_name� _username�_domain)�self�display_name�usernamer � addr_spec�a_s�rest� r �G/usr/lib/python3/dist-packages/future/backports/email/headerregistry.py�__init__ s"