File: //usr/lib/python2.7/site-packages/dns/e164.pyc
�
�b�Wc @ sw d Z d d l Z d d l Z d d l Z d d l m Z e j j d � Z e d � Z
e e d � Z d d � Z d S( s� DNS E.164 helpers
@var public_enum_domain: The DNS public ENUM domain, e164.arpa.
@type public_enum_domain: dns.name.Name object
i����Ni ( t string_typess
e164.arpa.c C sN g | D] } | j � r | ^ q } | j � t j j d j | � d | �S( su Convert an E.164 number in textual form into a Name object whose
value is the ENUM domain name for that number.
@param text: an E.164 number in textual form.
@type text: str
@param origin: The domain in which the number should be constructed.
The default is e164.arpa.
@type origin: dns.name.Name object or None
@rtype: dns.name.Name object
t .t origin( t isdigitt reverset dnst namet from_textt join( t textR t dt parts( ( s, /usr/lib/python2.7/site-packages/dns/e164.pyt from_e164 s
%
c C s� | d k r | j | � } n g | j D]* } | j � r( t | � d k r( | ^ q( } t | � t | j � k r� t j j d � � n | j � d j | � } | r� d | } n | S( s� Convert an ENUM domain name into an E.164 number.
@param name: the ENUM domain name.
@type name: dns.name.Name object.
@param origin: A domain containing the ENUM domain name. The
name is relativized to this domain before being converted to text.
@type origin: dns.name.Name object or None
@param want_plus_prefix: if True, add a '+' to the beginning of the
returned number.
@rtype: str
i s$ non-digit labels in ENUM domain namet t +N(
t Nonet
relativizet labelsR t lenR t exceptiont SyntaxErrorR R ( R R t want_plus_prefixR
t dlabelsR ( ( s, /usr/lib/python2.7/site-packages/dns/e164.pyt to_e164. s :
c C s� | d k r t j j � } n t j j � } x� | D]y } t | t � r^ t j j | � } n t j j
| | � } y | j | d � SWq4 t j j k
r� } | | 7} q4 Xq4 W| � d S( s� Look for NAPTR RRs for the specified number in the specified domains.
e.g. lookup('16505551212', ['e164.dnspython.org.', 'e164.arpa.'])
t NAPTRN( R R t resolvert get_default_resolvert NXDOMAINt
isinstanceR R R t e164R t query( t numbert domainsR t e_nxt domaint qnamet e( ( s, /usr/lib/python2.7/site-packages/dns/e164.pyR E s
( t __doc__t
dns.exceptionR t dns.namet dns.resolvert _compatR R R t public_enum_domainR t TrueR R R ( ( ( s, /usr/lib/python2.7/site-packages/dns/e164.pyt <module> s