/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 àMÒeõ-ã@sÔdZddlZddlZddlmZmZmZmZmZddl Z ddl Z ddl Z ddl Z ddlZ ddlZ ddlZ ddlZ ddlZ Gdd„de jjƒZe jjZe jjZe jjZe jjZe jjZe jjZGdd„de jjƒZdS)zDNS Versioned Zones.éN)ÚCallableÚDequeÚOptionalÚSetÚUnionc@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 sXeZdZgd¢ZeZejjddfe e ej j e fejjee edege efdœ‡fdd„ Zd7e ee eedœdd „Zd8eed œd d „Zdd„Zdd„Zdd„Ze eddœdd„Ze edege efddœdd„Zdd„Zdd„Zdd„Zd 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 fdd1œd2d3„Z,e ej j e fej(j)dd4œd5d6„Z-‡Z.S):ÚZone)Ú _versionsZ_versions_lockÚ _write_txnÚ_write_waitersÚ _write_eventÚ_pruning_policyÚ_readersTN)ÚoriginÚrdclassÚ relativizeÚpruning_policycsttƒ |||¡t ¡|_t ¡|_|dur6|j|_ n||_ d|_ d|_ t ¡|_ t ƒ|_| dt|dd�|¡dS)aÂInitialize 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__Ú collectionsÚdequerÚ threadingÚLockÚ _version_lockÚ_default_pruning_policyrrrrÚsetrÚ_commit_version_unlockedÚWritableVersion)Úselfrrrr©Ú __class__r r r.s    ÿz Zone.__init__)ÚidÚserialÚreturnc Cs:|dur|durtdƒ‚|j��|durbd}t|jƒD]}|j|kr8|}qPq8|durútdƒ‚n˜|durð|jrztjj }n|j dusˆJ‚|j }d}t|jƒD]@}|j   |¡}|rœ|  |jtjj¡}|rœ|dj|krœ|}qÞqœ|durútdƒ‚n |jd}t|d|ƒ}|j |¡|WdƒS1�s,0YdS)Nz!cannot specify both id and serialzversion not foundrzserial not foundéÿÿÿÿF)Ú ValueErrorr Úreversedrr(ÚKeyErrorrÚdnsÚnameÚemptyrÚnodesÚgetÚ get_rdatasetrÚ rdatatypeZSOAr)Ú TransactionrÚadd) r%r(r)ÚversionÚvZonameÚnZrdsÚtxnr r r ÚreaderSs<         z Zone.readerF)rr*cCs�d}|j�\|jdurD||jkrDt||dd�|_d|_Wdƒq€t ¡}|j |¡Wdƒn1sl0Y| ¡q|j  ¡|jS)NT)Zmake_immutable) r rrr6rÚEventrÚappendÚwaitZ_setup_version)r%rZeventr r r Úwriterwsÿ*  z Zone.writercCs(t|jƒdkr$|j ¡|_|j ¡dS)Nr)ÚlenrÚpopleftrr")r%r r r Ú!_maybe_wakeup_one_waiter_unlocked¨s z&Zone._maybe_wakeup_one_waiter_unlockedcCsdS)NTr )r%Úzoner8r r r r!®szZone._default_pruning_policycCstt|jƒdksJ‚t|jƒdkr6tdd„|jDƒƒ}n |jdj}|jdj|krp| ||jd¡rp|j ¡qBdS)Nrcss|]}|jjVqdS©N)r8r()Ú.0r;r r r Ú ½óz0Zone._prune_versions_unlocked..r+)rArrÚminr(rrB)r%Z least_keptr r r Ú_prune_versions_unlocked³s  ÿzZone._prune_versions_unlocked)Ú max_versionsr*csDˆdurˆdkrtdƒ‚ˆdur*dd„}n ‡fdd„}| |¡dS)zYSet a pruning policy that retains up to the specified number of versions Nézmax versions must be at least 1cSsdS)NFr ©rDÚ_r r r ÚpolicyÍsz%Zone.set_max_versions..policycst|jƒˆkSrE)rArrM©rKr r rOÒs)r,Úset_pruning_policy)r%rKrOr rPr Úset_max_versionsÅs   zZone.set_max_versions)rOr*cCsF|dur|j}|j�||_| ¡Wdƒn1s80YdS)aãSet 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 rQ×s zZone.set_pruning_policycCs>|j�$|j |¡| ¡Wdƒn1s00YdSrE)r rÚremoverJ©r%r;r r r Ú _end_readës zZone._end_readcCs |j|ksJ‚d|_| ¡dSrE)rrCrTr r r Ú_end_write_unlockedðszZone._end_write_unlockedcCs4|j�| |¡Wdƒn1s&0YdSrE)r rVrTr r r Ú _end_writeõszZone._end_writecCsB|j |¡| ¡|j|_|jdur,||_|dur>| |¡dSrE)rr>rJr2rrV©r%r;r8rr r r r#ùs  zZone._commit_version_unlockedcCs8|j�| |||¡Wdƒn1s*0YdSrE)r r#rXr r r Ú_commit_versionszZone._commit_versioncCs(t|jƒdkr |jdjd}nd}|S)Nrr+rL)rArr()r%r(r r r Ú_get_next_version_idszZone._get_next_version_id)r0Úcreater*cs|rt‚tƒ |¡SrE)rrÚ find_node)r%r0r[r&r r r\szZone.find_node)r0r*cCst‚dSrE©r)r%r0r r r Ú delete_nodeszZone.delete_node)r0ÚrdtypeÚcoversr[r*cs$|rt‚tƒ |||¡}tj |¡SrE)rrÚ find_rdatasetr/ÚrdatasetÚImmutableRdataset©r%r0r_r`r[rbr&r r raszZone.find_rdatasetcs4|rt‚tƒ |||¡}|dur,tj |¡SdSdSrE)rrr4r/rbrcrdr&r r r4$s  zZone.get_rdataset)r0r_r`r*cCst‚dSrEr])r%r0r_r`r r r Údelete_rdataset3szZone.delete_rdataset)r0rr*cCst‚dSrEr])r%r0rr r r Úreplace_rdataset;szZone.replace_rdataset)NN)F)F)/rr r Ú __slots__ÚNodeZ node_factoryr/Z rdataclassÚINrrr0ÚNameÚstrZ RdataClassÚboolrÚVersionrÚintr6r<r@rCr!rJrRrQrUrVrWr#rYrZZnoder\r^r5ZNONEZ RdataTyperbZRdatasetrar4rerfÚ __classcell__r r r&r r!s€ ûû&ÿ þ $1þ  ÿþûúû úüû þr) r rrÚtypingrrrrrZ 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(