???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3
°!ài!  ã               @   s:   d dl mZ ddlmZ d dlZd dlZG dd„ dƒZdS )é    )Údefaultdicté   )ÚdnskeyNc               @   sn   e Zd ZdZedd„ ƒZdZg Zddd„Zdd„ Z	d	d
„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )Úkeydictz> A dictionary of keys, indexed by name, algorithm, and key id c               C   s   t tƒS )N)r   Údict© r   r   ú/usr/lib/python3.6/keydict.pyÚ<lambda>   s    zkeydict.<lambda>Nc             K   s–   |j dd ƒ| _|j dd ƒ}|s:|j dd ƒp,d}| j|ƒ nXxV|D ]N}d|krb|d d k	rb|d }n|rr|j|ƒjptd}| j||ƒs@| jj|ƒ q@W d S )NZkeyttlÚzonesÚpathÚ.)ÚgetÚ_defttlÚreadallZpolicyZ	directoryÚreadoneÚ_missingÚappend)ÚselfZdpÚkwargsr
   r   Úzoner   r   r   Ú__init__   s    

zkeydict.__init__c             C   sL   t j tjj|dƒƒ}x2|D ]*}t||| jƒ}|| j|j |j |j	< qW d S )Nz	*.private)
ÚglobÚosr   Újoinr   r   Ú_keydictÚnameÚalgÚkeyid)r   r   ÚfilesÚinfileÚkeyr   r   r   r   ,   s    
zkeydict.readallc       	      C   sŽ   |j dƒs|d7 }d| d }tjtjj||ƒƒ}d}xR|D ]J}t||| jƒ}|j|krZq<|dkrh|jnd}|| j	| |j
 |j< d}q<W |S )Nr   ÚKz
+*.privateFT)Úendswithr   r   r   r   r   r   Úfullnamer   r   r   r   )	r   r   r   Úmatchr   Úfoundr   r    Zkeynamer   r   r   r   3   s    


zkeydict.readonec             c   sJ   xD| j jƒ D ]6\}}x,|jƒ D ] \}}x|jƒ D ]
}|V  q0W qW qW d S )N)r   ÚitemsÚvalues)r   r   Ú
algorithmsr   Úkeysr    r   r   r   Ú__iter__D   s    zkeydict.__iter__c             C   s
   | j | S )N)r   )r   r   r   r   r   Ú__getitem__J   s    zkeydict.__getitem__c             C   s
   | j jƒ S )N)r   r)   )r   r   r   r   r
   M   s    zkeydict.zonesc             C   s   | j | jƒ S )N)r   r)   )r   r   r   r   r   r(   P   s    zkeydict.algorithmsc             C   s   | j | | jƒ S )N)r   r)   )r   r   r   r   r   r   r)   S   s    zkeydict.keysc             C   s   | j S )N)r   )r   r   r   r   ÚmissingV   s    zkeydict.missing)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r*   r+   r
   r(   r)   r,   r   r   r   r   r      s   
r   )Úcollectionsr   Ú r   r   r   r   r   r   r   r   Ú<module>   s   