Oc@sgdZddlZddlZddlZejjdZedZee dZ ddZ dS(sDNS E.164 helpers @var public_enum_domain: The DNS public ENUM domain, e164.arpa. @type public_enum_domain: dns.name.Name object iNs e164.arpa.cCsNg|D]}|jr|^q}|jtjjdj|d|S(suConvert 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.torigin(tisdigittreversetdnstnamet from_texttjoin(ttextRtdtparts((s./usr/lib64/python2.7/site-packages/dns/e164.pyt from_e164s % cCs|dk r|j|}ng|jD]*}|jr(t|dkr(|^q(}t|t|jkrtjjdn|jdj |}|rd|}n|S(sConvert 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 is$non-digit labels in ENUM domain namett+N( tNonet relativizetlabelsRtlenRt exceptiont SyntaxErrorRR(RRtwant_plus_prefixR tdlabelsR((s./usr/lib64/python2.7/site-packages/dns/e164.pytto_e164*s :  cCs|dkrtjj}nx{|D]s}t|ttfrUtjj|}ntj j ||}y|j |dSWq%tjj k rq%Xq%Wtjj dS(sLook for NAPTR RRs for the specified number in the specified domains. e.g. lookup('16505551212', ['e164.dnspython.org.', 'e164.arpa.']) tNAPTRN( RRtresolvertget_default_resolvert isinstancetstrtunicodeRRte164R tquerytNXDOMAIN(tnumbertdomainsRtdomaintqname((s./usr/lib64/python2.7/site-packages/dns/e164.pyR@s  ( t__doc__t dns.exceptionRtdns.namet dns.resolverRRtpublic_enum_domainR tTrueRRR(((s./usr/lib64/python2.7/site-packages/dns/e164.pyts