a Γi! ã@s:ddlmZddlmZddlZddlZGdd„dƒZdS)é)Ú defaultdicté)ÚdnskeyNc@sneZdZdZedd„ƒZdZgZddd„Zdd„Z d d „Z d d „Z d d„Z dd„Z dd„Zdd„Zdd„ZdS)Úkeydictz> A dictionary of keys, indexed by name, algorithm, and key id cCsttƒS©N)rÚdict©rrú//usr/lib/python3.9/site-packages/isc/keydict.pyÚózkeydict.NcKs’| dd¡|_| dd¡}|s:| dd¡p,d}| |¡nT|D]N}d|vr`|ddur`|d}n|rp| |¡jprd}| ||¡s>|j |¡q>dS)NZkeyttlÚzonesÚpathÚ.)ÚgetÚ_defttlÚreadallZpolicyZ directoryÚreadoneÚ_missingÚappend)ÚselfZdpÚkwargsr r Úzonerrr Ú__init__s    zkeydict.__init__cCsHt tj |d¡¡}|D]*}t|||jƒ}||j|j|j|j <qdS)Nz *.private) ÚglobÚosr ÚjoinrrÚ_keydictÚnameÚalgÚkeyid)rr ÚfilesÚinfileÚkeyrrr r,szkeydict.readallc CsŠ| d¡s|d7}d|d}t tj ||¡¡}d}|D]J}t|||jƒ}|j|krXq:|dkrf|jnd}||j ||j |j <d}q:|S)NrÚKz +*.privateFT) Úendswithrrr rrrÚfullnamerrrr) rr rÚmatchr Úfoundr!r"Zkeynamerrr r3s   zkeydict.readoneccs>|j ¡D].\}}| ¡D]\}}| ¡D] }|Vq*qq dSr)rÚitemsÚvalues)rrÚ algorithmsrÚkeysr"rrr Ú__iter__Ds zkeydict.__iter__cCs |j|Sr)r)rrrrr Ú __getitem__Jszkeydict.__getitem__cCs |j ¡Sr©rr+©rrrr r Msz keydict.zonescCs|j| ¡Srr.)rrrrr r*Pszkeydict.algorithmscCs|j|| ¡Srr.)rrrrrr r+Ssz keydict.keyscCs|jSr)rr/rrr ÚmissingVszkeydict.missing)N)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrrrrr,r-r r*r+r0rrrr rs  r)Ú collectionsrÚrrrrrrrr Ú s