ó !`Nc@sDddlZddlZddlZdejjfd„ƒYZdS(iÿÿÿÿNtDSBasecBsƒeZdZddddgZd„Zd ed„Zd ed„Ze eƒZd d d„Z d d „Z e e ƒZ d „Z RS( sJBase class for rdata that is like a DS record @ivar key_tag: the key tag @type key_tag: int @ivar algorithm: the algorithm @type algorithm: int @ivar digest_type: the digest type @type digest_type: int @ivar digest: the digest @type digest: int @see: draft-ietf-dnsext-delegation-signer-14.txttkey_tagt algorithmt digest_typetdigestcCsAtt|ƒj||ƒ||_||_||_||_dS(N(tsuperRt__init__RRRR(tselftrdclasstrdtypeRRRR((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pyR$s    cKs2d|j|j|jtjj|jddƒfS(Ns %d %d %d %st chunksizei€(RRRtdnstrdatat_hexifyR(Rtorigint relativizetkw((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pytto_text,sc Cs´|jƒ}|jƒ}|jƒ}g} xP|jƒjƒ} | jƒrOPn| jƒsjtjj‚n| j | j ƒq-dj | ƒ} | j dƒ} ||||||| ƒS(Ntt hex_codec( t get_uint16t get_uint8tgettunescapet is_eol_or_eoft is_identifierR t exceptiont SyntaxErrortappendtvaluetjointdecode( tclsRR ttokRRRRRtchunksttR((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pyt from_text2s     cCsBtjd|j|j|jƒ}|j|ƒ|j|jƒdS(Ns!HBB(tstructtpackRRRtwriteR(RtfiletcompressRtheader((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pytto_wireEs  c Csmtjd|||d!ƒ}|d7}|d8}||||!jƒ}||||d|d|d|ƒS(Ns!HBBiiii(R%tunpacktunwrap( R RR twiretcurrenttrdlenRR*R((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pyt from_wireKs   cCsytjd|j|j|jƒ}tjd|j|j|jƒ}t||ƒ}|dkrut|j|jƒ}n|S(Ns!HBBi(R%R&RRRtcmpR(Rtotherthsthotv((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pyt_cmpTs   N( t__name__t __module__t__doc__t __slots__RtNonetTrueRR$t classmethodR+R1R7(((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pyRs     (R%t dns.rdataR t dns.rdatatypeR tRdataR(((s8/usr/lib64/python2.7/site-packages/dns/rdtypes/dsbase.pyts