3
lá˜_ ã
@ sZ d dl mZmZmZ d dlZd dlZd dlmZ d dlZd dl m
Z
d dlmZ d dl
mZ ddd d
ddd
dddœ ZG dd„ deƒZejejƒG dd„ deƒƒZe
jeƒG dd„ deƒƒZe
jeƒG dd„ deƒƒZe
jeƒG dd„ deƒƒZe
jeƒG dd„ deƒƒZe
jeƒG dd„ deƒƒZe
jeƒG dd „ d eƒƒZe
jeƒG d!d"„ d"eƒƒZdS )#é )Úabsolute_importÚdivisionÚprint_functionN)Ú parseaddr)Úutils)ÚName)ÚObjectIdentifierZ otherNameZ
rfc822NameZdNSNameZx400AddressZ
directoryNameZediPartyNameZuniformResourceIdentifierZ iPAddressZregisteredID) r é é é é é é é é c s e Zd Z‡ fdd„Z‡ ZS )ÚUnsupportedGeneralNameTypec s t t| ƒj|ƒ || _d S )N)Úsuperr Ú__init__Útype)ÚselfÚmsgr )Ú __class__© ú$/usr/lib64/python3.6/general_name.pyr s z#UnsupportedGeneralNameType.__init__)Ú__name__Ú
__module__Ú__qualname__r Ú
__classcell__r r )r r r s r c @ s e Zd Zejdd„ ƒZdS )ÚGeneralNamec C s dS )z0
Return the value of the object
Nr )r r r r Úvalue' s zGeneralName.valueN)r r r ÚabcÚabstractpropertyr r r r r r % s r c @ sJ e Zd Zdd„ ZejdƒZedd„ ƒZdd„ Z dd „ Z
d
d„ Zdd
„ ZdS )Ú
RFC822Namec C sj t |tjƒr:y|jdƒ W qB tk
r6 tdƒ‚Y qBX ntdƒ‚t|ƒ\}}|sX| r`tdƒ‚|| _d S )NÚasciiz�RFC822Name values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.zvalue must be stringzInvalid rfc822name value) Ú
isinstanceÚsixÚ text_typeÚencodeÚUnicodeEncodeErrorÚ
ValueErrorÚ TypeErrorr Ú_value)r r ÚnameZaddressr r r r 0 s
zRFC822Name.__init__r+ c C s | j | ƒ}||_|S )N)Ú__new__r+ )Úclsr Úinstancer r r Ú_init_without_validationG s
z#RFC822Name._init_without_validationc C s dj | jƒS )Nz