3
\O ã @ sf d dl mZ d dlmZ d dlmZ d dlmZ G dd„ dƒZG dd„ dƒZG d d
„ d
e ƒZ
dd„ ZG d
d„ dƒZG dd„ deƒZ
G dd„ dƒZG dd„ deƒZG dd„ dƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ dƒZG dd „ d ƒZG d!d"„ d"eƒZG d#d$„ d$eƒZG d%d&„ d&ƒZe
eeeeeeeeeeeeeeeeeed'œZG d(d)„ d)ƒZd*S )+é )Ú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 sl |d k rV|s|rt dƒ‚tj|ƒ\}}|r:tdj||ƒƒ‚|jrJ|jd ‚|j}|j}|| _|| _ || _
d S )Nz=addrspec specified when username and/or domain also specifiedz6Invalid addr_spec; only '{}' could be parsed from '{}'r )Ú TypeErrorÚparserZ
get_addr_specÚ
ValueErrorÚformatÚall_defectsÚ
local_partÚdomainÚ
_display_nameÚ _usernameÚ_domain)ÚselfÚdisplay_nameÚusernamer Ú addr_specZa_sÚrest© r ú,/usr/lib64/python3.6/email/headerregistry.pyÚ__init__ s
zAddress.__init__c C s | j S )N)r )r r r r r 7 s zAddress.display_namec C s | j S )N)r )r r r r r ; s zAddress.usernamec C s | j S )N)r )r r r r r ? s zAddress.domainc C sT t | jƒ}t|ƒt|tj ƒkr.tj| jƒ}n| j}| jrH|d | j S |sPdS |S )Nú@z<>)Úsetr Úlenr Z
DOT_ATOM_ENDSÚquote_stringr )r ÚnamesetZlpr r r r C s
zAddress.addr_specc C s dj | jj| j| j| jƒS )Nz1{}(display_name={!r}, username={!r}, domain={!r}))r Ú __class__Ú__name__r r r )r r r r Ú__repr__S s zAddress.__repr__c C s^ t | jƒ}t|ƒt|tj ƒkr.tj| jƒ}n| j}|rX| jdkrFdn| j}dj||ƒS | jS )Nz<>r z{} <{}>)r r r r ÚSPECIALSr r r )r r Údispr r r r Ú__str__X s
zAddress.__str__c C s8 t |ƒt | ƒkrdS | j|jko6| j|jko6| j|jkS )NF)Útyper r r )r Úotherr r r Ú__eq__c s
zAddress.__eq__)r r r N)r Ú
__module__Ú__qualname__r Úpropertyr r r r r! r$ r' r r r r r s
%r c @ sF e Zd Zddd„Zedd„ ƒZedd„ ƒZdd „ Zd
d„ Zdd
„ Z dS )ÚGroupNc C s || _ |rt|ƒntƒ | _d S )N)r ÚtupleÚ
_addresses)r r Ú addressesr r r r m s zGroup.__init__c C s | j S )N)r )r r r r r s zGroup.display_namec C s | j S )N)r- )r r r r r. ƒ s zGroup.addressesc C s dj | jj| j| jƒS )Nz${}(display_name={!r}, addresses={!r})r r r r r. )r r r r r! ‡ s zGroup.__repr__c C sŽ | j d kr&t| jƒdkr&t| jd ƒS | j }|d k r\t|ƒ}t|ƒt|tj ƒkr\tj|ƒ}djdd„ | jD ƒƒ}|r~d| n|}dj ||ƒS )Né r z, c s s | ]}t |ƒV qd S )N)Ústr)Ú.0Úxr r r ú