Your IP : 3.142.195.128


Current Path : /lib64/python2.7/site-packages/dns/
Upload File :
Current File : //lib64/python2.7/site-packages/dns/node.pyo

�
��,Qc@sPdZddlZddlZddlZddlZdefd��YZdS(s)DNS nodes.  A node is a set of rdatasets.i����NtNodecBs�eZdZdgZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
ejj
ed	�Zejj
ed
�Zejj
d�Zd�ZRS(
s�A DNS node.

    A node is a set of rdatasets

    @ivar rdatasets: the node's rdatasets
    @type rdatasets: list of dns.rdataset.Rdataset objectst	rdatasetscCs
g|_dS(sInitialize a DNS node.
        N(R(tself((s./usr/lib64/python2.7/site-packages/dns/node.pyt__init__"scKsYtj�}x<|jD]1}t|�dkr||j||�IJqqW|j�d S(s+Convert a node to text format.

        Each rdataset at the node is printed.  Any keyword arguments
        to this method are passed on to the rdataset's to_text() method.
        @param name: the owner name of the rdatasets
        @type name: dns.name.Name object
        @rtype: string
        ii����(tStringIORtlentto_texttgetvalue(Rtnametkwtstrds((s./usr/lib64/python2.7/site-packages/dns/node.pyR(s

cCsdtt|��dS(Ns
<DNS node t>(tstrtid(R((s./usr/lib64/python2.7/site-packages/dns/node.pyt__repr__8scCsRx$|jD]}||jkr
tSq
Wx$|jD]}||jkr1tSq1WtS(sSTwo nodes are equal if they have the same rdatasets.

        @rtype: bool
        (RtFalsetTrue(Rtothertrd((s./usr/lib64/python2.7/site-packages/dns/node.pyt__eq__;scCs|j|�S(N(R(RR((s./usr/lib64/python2.7/site-packages/dns/node.pyt__ne__KscCs
t|j�S(N(RR(R((s./usr/lib64/python2.7/site-packages/dns/node.pyt__len__NscCs
t|j�S(N(titerR(R((s./usr/lib64/python2.7/site-packages/dns/node.pyt__iter__QscCsex*|jD]}|j|||�r
|Sq
W|s<t�ntjj||�}|jj|�|S(sFind an rdataset matching the specified properties in the
        current node.

        @param rdclass: The class of the rdataset
        @type rdclass: int
        @param rdtype: The type of the rdataset
        @type rdtype: int
        @param covers: The covered type.  Usually this value is
        dns.rdatatype.NONE, but if the rdtype is dns.rdatatype.SIG or
        dns.rdatatype.RRSIG, then the covers value will be the rdata
        type the SIG/RRSIG covers.  The library treats the SIG and RRSIG
        types as if they were a family of
        types, e.g. RRSIG(A), RRSIG(NS), RRSIG(SOA).  This makes RRSIGs much
        easier to work with than if RRSIGs covering different rdata
        types were aggregated into a single RRSIG rdataset.
        @type covers: int
        @param create: If True, create the rdataset if it is not found.
        @type create: bool
        @raises KeyError: An rdataset of the desired type and class does
        not exist and I{create} is not True.
        @rtype: dns.rdataset.Rdataset object
        (RtmatchtKeyErrortdnstrdatasettRdatasettappend(RtrdclasstrdtypetcoverstcreateR((s./usr/lib64/python2.7/site-packages/dns/node.pyt
find_rdatasetTs	cCs:y|j||||�}Wntk
r5d}nX|S(sEGet an rdataset matching the specified properties in the
        current node.

        None is returned if an rdataset of the specified type and
        class does not exist and I{create} is not True.

        @param rdclass: The class of the rdataset
        @type rdclass: int
        @param rdtype: The type of the rdataset
        @type rdtype: int
        @param covers: The covered type.
        @type covers: int
        @param create: If True, create the rdataset if it is not found.
        @type create: bool
        @rtype: dns.rdataset.Rdataset object or None
        N(R#RtNone(RRR R!R"R((s./usr/lib64/python2.7/site-packages/dns/node.pytget_rdatasetvs


cCs8|j|||�}|dk	r4|jj|�ndS(szDelete the rdataset matching the specified properties in the
        current node.

        If a matching rdataset does not exist, it is not an error.

        @param rdclass: The class of the rdataset
        @type rdclass: int
        @param rdtype: The type of the rdataset
        @type rdtype: int
        @param covers: The covered type.
        @type covers: int
        N(R%R$Rtremove(RRR R!R((s./usr/lib64/python2.7/site-packages/dns/node.pytdelete_rdataset�scCsQt|tjj�s!td�n|j|j|j|j�|j	j
|�dS(s8Replace an rdataset.

        It is not an error if there is no rdataset matching I{replacement}.

        Ownership of the I{replacement} object is transferred to the node;
        in other words, this method does not store a copy of I{replacement}
        at the node, it stores I{replacement} itself.
        sreplacement is not an rdatasetN(t
isinstanceRRRt
ValueErrorR'RR R!RR(Rtreplacement((s./usr/lib64/python2.7/site-packages/dns/node.pytreplace_rdataset�s


(t__name__t
__module__t__doc__t	__slots__RRRRRRRRt	rdatatypetNONERR#R%R'R+(((s./usr/lib64/python2.7/site-packages/dns/node.pyRs									!	(R.Rtdns.rdatasetRt
dns.rdatatypetdns.renderertobjectR(((s./usr/lib64/python2.7/site-packages/dns/node.pyt<module>s