/usr/lib/python3.9/site-packages/dns/__pycache__
NameSizeModeActions
asyncbackend.cpython-39.opt-1.pyc26160644editdlrm
asyncbackend.cpython-39.pyc26160644editdlrm
asyncquery.cpython-39.opt-1.pyc178050644editdlrm
asyncquery.cpython-39.pyc178170644editdlrm
asyncresolver.cpython-39.opt-1.pyc129580644editdlrm
asyncresolver.cpython-39.pyc130020644editdlrm
dnssec.cpython-39.opt-1.pyc321600644editdlrm
dnssec.cpython-39.pyc321880644editdlrm
dnssectypes.cpython-39.opt-1.pyc16160644editdlrm
dnssectypes.cpython-39.pyc16160644editdlrm
e164.cpython-39.opt-1.pyc34520644editdlrm
e164.cpython-39.pyc34520644editdlrm
edns.cpython-39.opt-1.pyc147200644editdlrm
edns.cpython-39.pyc147340644editdlrm
entropy.cpython-39.opt-1.pyc33480644editdlrm
entropy.cpython-39.pyc33480644editdlrm
enum.cpython-39.opt-1.pyc32490644editdlrm
enum.cpython-39.pyc32490644editdlrm
exception.cpython-39.opt-1.pyc55180644editdlrm
exception.cpython-39.pyc57140644editdlrm
flags.cpython-39.opt-1.pyc22080644editdlrm
flags.cpython-39.pyc22080644editdlrm
grange.cpython-39.opt-1.pyc10890644editdlrm
grange.cpython-39.pyc11330644editdlrm
immutable.cpython-39.opt-1.pyc24280644editdlrm
immutable.cpython-39.pyc24280644editdlrm
inet.cpython-39.opt-1.pyc46030644editdlrm
inet.cpython-39.pyc46030644editdlrm
ipv4.cpython-39.opt-1.pyc18440644editdlrm
ipv4.cpython-39.pyc18440644editdlrm
ipv6.cpython-39.opt-1.pyc39380644editdlrm
ipv6.cpython-39.pyc39380644editdlrm
message.cpython-39.opt-1.pyc506310644editdlrm
message.cpython-39.pyc506720644editdlrm
name.cpython-39.opt-1.pyc350740644editdlrm
name.cpython-39.pyc350890644editdlrm
namedict.cpython-39.opt-1.pyc29860644editdlrm
namedict.cpython-39.pyc29860644editdlrm
nameserver.cpython-39.opt-1.pyc89080644editdlrm
nameserver.cpython-39.pyc89080644editdlrm
node.cpython-39.opt-1.pyc116050644editdlrm
node.cpython-39.pyc116050644editdlrm
opcode.cpython-39.opt-1.pyc24750644editdlrm
opcode.cpython-39.pyc24750644editdlrm
query.cpython-39.opt-1.pyc402980644editdlrm
query.cpython-39.pyc403430644editdlrm
rcode.cpython-39.opt-1.pyc32530644editdlrm
rcode.cpython-39.pyc32530644editdlrm
rdata.cpython-39.opt-1.pyc236090644editdlrm
rdata.cpython-39.pyc236090644editdlrm
rdataclass.cpython-39.opt-1.pyc27920644editdlrm
rdataclass.cpython-39.pyc27920644editdlrm
rdataset.cpython-39.opt-1.pyc154370644editdlrm
rdataset.cpython-39.pyc154510644editdlrm
rdatatype.cpython-39.opt-1.pyc66730644editdlrm
rdatatype.cpython-39.pyc66730644editdlrm
renderer.cpython-39.opt-1.pyc98220644editdlrm
renderer.cpython-39.pyc98410644editdlrm
resolver.cpython-39.opt-1.pyc524720644editdlrm
resolver.cpython-39.pyc526250644editdlrm
reversename.cpython-39.opt-1.pyc30550644editdlrm
reversename.cpython-39.pyc30550644editdlrm
rrset.cpython-39.opt-1.pyc78850644editdlrm
rrset.cpython-39.pyc78990644editdlrm
serial.cpython-39.opt-1.pyc29330644editdlrm
serial.cpython-39.pyc29330644editdlrm
set.cpython-39.opt-1.pyc87990644editdlrm
set.cpython-39.pyc87990644editdlrm
tokenizer.cpython-39.opt-1.pyc172420644editdlrm
tokenizer.cpython-39.pyc172560644editdlrm
transaction.cpython-39.opt-1.pyc202610644editdlrm
transaction.cpython-39.pyc202610644editdlrm
tsig.cpython-39.opt-1.pyc103810644editdlrm
tsig.cpython-39.pyc103810644editdlrm
tsigkeyring.cpython-39.opt-1.pyc18350644editdlrm
tsigkeyring.cpython-39.pyc18350644editdlrm
ttl.cpython-39.opt-1.pyc16800644editdlrm
ttl.cpython-39.pyc16800644editdlrm
update.cpython-39.opt-1.pyc88860644editdlrm
update.cpython-39.pyc88860644editdlrm
version.cpython-39.opt-1.pyc5630644editdlrm
version.cpython-39.pyc5630644editdlrm
versioned.cpython-39.opt-1.pyc87230644editdlrm
versioned.cpython-39.pyc87750644editdlrm
win32util.cpython-39.opt-1.pyc56530644editdlrm
win32util.cpython-39.pyc56530644editdlrm
wire.cpython-39.opt-1.pyc33270644editdlrm
wire.cpython-39.pyc33550644editdlrm
xfr.cpython-39.opt-1.pyc77710644editdlrm
xfr.cpython-39.pyc77890644editdlrm
zone.cpython-39.opt-1.pyc452680644editdlrm
zone.cpython-39.pyc454120644editdlrm
zonefile.cpython-39.opt-1.pyc176630644editdlrm
zonefile.cpython-39.pyc176870644editdlrm
zonetypes.cpython-39.opt-1.pyc10230644editdlrm
zonetypes.cpython-39.pyc10230644editdlrm
_asyncbackend.cpython-39.opt-1.pyc42080644editdlrm
_asyncbackend.cpython-39.pyc42080644editdlrm
_asyncio_backend.cpython-39.opt-1.pyc89840644editdlrm
_asyncio_backend.cpython-39.pyc90020644editdlrm
_ddr.cpython-39.opt-1.pyc40710644editdlrm
_ddr.cpython-39.pyc40710644editdlrm
_features.cpython-39.opt-1.pyc23670644editdlrm
_features.cpython-39.pyc23670644editdlrm
_immutable_ctx.cpython-39.opt-1.pyc21590644editdlrm
_immutable_ctx.cpython-39.pyc21590644editdlrm
__init__.cpython-39.opt-1.pyc6670644editdlrm
__init__.cpython-39.pyc6670644editdlrm
Edit: /usr/lib/python3.9/site-packages/dns/__pycache__/versioned.cpython-39.pyc (8775B)
a Me-@sdZddlZddlZddlmZmZmZmZmZddl Z ddl Z ddl Z ddl Z ddlZ ddlZ ddlZ ddlZ ddlZ Gddde jjZe jjZe jjZe jjZe jjZe jjZe jjZGddde jjZdS)zDNS Versioned Zones.N)CallableDequeOptionalSetUnionc@seZdZdZdS)UseTransactionz-To alter a versioned zone, use a transaction.N)__name__ __module__ __qualname____doc__r r 1/usr/lib/python3.9/site-packages/dns/versioned.pyrsrc sXeZdZgdZeZejjddfe e ej j e fejjee edege efdfdd Zd7e ee eeddd Zd8eed d d ZddZddZddZe eddddZe edege efddddZddZddZddZd d!Zd"d#Z d$d%Z!d9e ej j e feej"jd&fd'd( Z#e ej j e fdd)d*d+Z$ej%j&d fe ej j e fe ej%j'e fe ej%j'e feej(j)d,fd-d. Z*ej%j&d fe ej j e fe ej%j'e fe ej%j'e fee ej(j)d,fd/d0 Z+ej%j&fe ej j e fe ej%j'e fe ej%j'e fdd1d2d3Z,e ej j e fej(j)dd4d5d6Z-Z.S):Zone) _versionsZ_versions_lock _write_txn_write_waiters _write_event_pruning_policy_readersTN)originrdclass relativizepruning_policycstt|||t|_t|_|dur6|j|_ n||_ d|_ d|_ t|_ t |_|dt|dd|dS)aInitialize a versioned zone object. *origin* is the origin of the zone. It may be a ``dns.name.Name``, a ``str``, or ``None``. If ``None``, then the zone's origin will be set by the first ``$ORIGIN`` line in a zone file. *rdclass*, an ``int``, the zone's rdata class; the default is class IN. *relativize*, a ``bool``, determine's whether domain names are relativized to the zone's origin. The default is ``True``. *pruning policy*, a function taking a ``Zone`` and a ``Version`` and returning a ``bool``, or ``None``. Should the version be pruned? If ``None``, the default policy, which retains one version is used. NT) replacement)super__init__ collectionsdequer threadingLock _version_lock_default_pruning_policyrrrrsetr_commit_version_unlockedWritableVersion)selfrrrr __class__r r r.s    z Zone.__init__)idserialreturnc Cs:|dur|durtd|j|durbd}t|jD]}|j|kr8|}qPq8|durtdn|dur|jrztjj }n|j dusJ|j }d}t|jD]@}|j |}|r| |jtjj}|r|dj|kr|}qq|durtdn |jd}t|d|}|j||WdS1s,0YdS)Nz!cannot specify both id and serialzversion not foundrzserial not foundF) ValueErrorr reversedrr(KeyErrorrdnsnameemptyrnodesget get_rdatasetr rdatatypeZSOAr) Transactionradd) r%r(r)versionvZonamenZrdstxnr r r readerSs<         z Zone.readerF)rr*cCsd}|j\|jdurD||jkrDt||dd|_d|_Wdqt}|j|Wdn1sl0Y|q|j |jS)NT)Zmake_immutable) r rrr6rEventrappendwaitZ_setup_version)r%rZeventr r r writerws*  z Zone.writercCs(t|jdkr$|j|_|jdS)Nr)lenrpopleftrr")r%r r r !_maybe_wakeup_one_waiter_unlockeds z&Zone._maybe_wakeup_one_waiter_unlockedcCsdS)NTr )r%zoner8r r r r!szZone._default_pruning_policycCstt|jdksJt|jdkr6tdd|jD}n |jdj}|jdj|krp|||jdrp|jqBdS)Nrcss|]}|jjVqdSN)r8r().0r;r r r z0Zone._prune_versions_unlocked..r+)rArrminr(rrB)r%Z least_keptr r r _prune_versions_unlockeds  zZone._prune_versions_unlocked) max_versionsr*csDdurdkrtddur*dd}n fdd}||dS)zYSet a pruning policy that retains up to the specified number of versions Nzmax versions must be at least 1cSsdS)NFr rD_r r r policysz%Zone.set_max_versions..policycst|jkSrE)rArrMrKr r rOs)r,set_pruning_policy)r%rKrOr rPr set_max_versionss   zZone.set_max_versions)rOr*cCsF|dur|j}|j||_|Wdn1s80YdS)aSet the pruning policy for the zone. The *policy* function takes a `Version` and returns `True` if the version should be pruned, and `False` otherwise. `None` may also be specified for policy, in which case the default policy is used. Pruning checking proceeds from the least version and the first time the function returns `False`, the checking stops. I.e. the retained versions are always a consecutive sequence. N)r!r rrJ)r%rOr r r rQs zZone.set_pruning_policycCs>|j$|j||Wdn1s00YdSrE)r rremoverJr%r;r r r _end_reads zZone._end_readcCs |j|ksJd|_|dSrE)rrCrTr r r _end_write_unlockedszZone._end_write_unlockedcCs4|j||Wdn1s&0YdSrE)r rVrTr r r _end_writeszZone._end_writecCsB|j|||j|_|jdur,||_|dur>||dSrE)rr>rJr2rrVr%r;r8rr r r r#s  zZone._commit_version_unlockedcCs8|j||||Wdn1s*0YdSrE)r r#rXr r r _commit_versionszZone._commit_versioncCs(t|jdkr |jdjd}nd}|S)Nrr+rL)rArr()r%r(r r r _get_next_version_idszZone._get_next_version_id)r0creater*cs|rtt|SrE)rr find_node)r%r0r[r&r r r\szZone.find_node)r0r*cCstdSrEr)r%r0r r r delete_nodeszZone.delete_node)r0rdtypecoversr[r*cs$|rtt|||}tj|SrE)rr find_rdatasetr/rdatasetImmutableRdatasetr%r0r_r`r[rbr&r r raszZone.find_rdatasetcs4|rtt|||}|dur,tj|SdSdSrE)rrr4r/rbrcrdr&r r r4$s  zZone.get_rdataset)r0r_r`r*cCstdSrEr])r%r0r_r`r r r delete_rdataset3szZone.delete_rdataset)r0rr*cCstdSrEr])r%r0rr r r replace_rdataset;szZone.replace_rdataset)NN)F)F)/rr r __slots__NodeZ node_factoryr/Z rdataclassINrrr0NamestrZ RdataClassboolrVersionrintr6r<r@rCr!rJrRrQrUrVrWr#rYrZZnoder\r^r5ZNONEZ RdataTyperbZRdatasetrar4rerf __classcell__r r r&r r!s &  $1    r) r rrtypingrrrrrZ dns.exceptionr/Z dns.immutableZdns.nameZdns.nodeZdns.rdataclassZ dns.rdatasetZ dns.rdatatypeZdns.rdtypes.ANY.SOAZdns.zone exceptionZ DNSExceptionrrDZ VersionedNoderhZImmutableVersionedNodeZ ImmutableNodermr$ZImmutableVersionr6rr r r r s(