Your IP : 216.73.216.61


Current Path : /opt/alt/python35/lib/python3.5/site-packages/wheel/signatures/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/wheel/signatures/__pycache__/keys.cpython-35.pyc



/U�U��@sTdZddlZddlZddlmZmZmZGdd�de�Z	dS)aStore and retrieve wheel signing / verifying keys.

Given a scope (a package name, + meaning "all packages", or - meaning 
"no packages"), return a list of verifying keys that are trusted for that 
scope.

Given a package name, return a list of (scope, key) suggested keys to sign
that package (only the verifying keys; the private signing key is stored
elsewhere).

Keys here are represented as urlsafe_b64encoded strings with no padding.

Tentative command line interface:

# list trusts
wheel trust
# trust a particular key for all
wheel trust + key
# trust key for beaglevote
wheel trust beaglevote key
# stop trusting a key for all
wheel untrust + key

# generate a key pair
wheel keygen

# import a signing key from a file
wheel import keyfile

# export a signing key
wheel export key
�N)�native�load_config_paths�save_config_pathc@seZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
dd�Z
dd�Zdd�Zd
S)�	WheelKeys�z
wheel.jsoncCsdgdgi|_dS)N�signers�	verifiers)�data)�self�r�F/opt/alt/python35/lib/python3.5/site-packages/wheel/signatures/keys.py�__init__*szWheelKeys.__init__cCs�x�td�D]�}tjjt|�|j�}tjj|�r
t|d���}tj	|�|_
x*dD]"}||j
krng|j
|<qnWd|j
kr�|j|j
d<n8|j
d|jkr�tdj
|j
d|j���WdQRXPq
W|S)N�wheel�rrrZschemaz(Bad wheel.json version {0}, expected {1})rr)r�os�path�joinr�CONFIG_NAME�exists�open�json�loadr	�SCHEMA�
ValueError�format)r
r�conf�infile�xrrrr-s 
 zWheelKeys.loadcCs`td�}tjjt|�|j�}t|d�� }tj|j	|dd�WdQRX|S)Nrzw+�indent�)
rrrrrrrr�dumpr	)r
rr�outrrr�save@s
 zWheelKeys.savecCs$|jdjd|d|i�|S)z0Start trusting a particular key for given scope.r�scope�vk)r	�append)r
r#r$rrr�trustHs zWheelKeys.trustcCs$|jdjd|d|i�|S)z/Stop trusting a particular key for given scope.rr#r$)r	�remove)r
r#r$rrr�untrustMs zWheelKeys.untrustNcsD�fdd�|jdD�}|jddd��|j�|S)z;Return list of [(scope, trusted key), ...] for given scope.cs:g|]0}|d�dfkr|d|df�qS)r#�+r$r)�.0r)r#rr�
<listcomp>Ts	z%WheelKeys.trusted.<locals>.<listcomp>r�keycSs|dS)Nrr)rrrr�<lambda>Usz#WheelKeys.trusted.<locals>.<lambda>)r	�sort�reverse)r
r#r&r)r#r�trustedRs 
zWheelKeys.trustedcsD�fdd�|jdD�}|jddd��|j�|S)zReturn list of signing key(s).cs:g|]0}|d�dfkr|d|df�qS)r#r)r$r)r*r)r#rrr+[s	z%WheelKeys.signers.<locals>.<listcomp>rr,cSs|dS)Nrr)rrrrr-\sz#WheelKeys.signers.<locals>.<lambda>)r	r.r/)r
r#�signr)r#rrYs 
zWheelKeys.signerscCs$|jdjd|d|i�dS)z>Remember verifying key vk as being valid for signing in scope.rr#r$N)r	r%)r
r#r$rrr�
add_signer`szWheelKeys.add_signer)
�__name__�
__module__�__qualname__rrr
rr"r&r(r0rr2rrrrr&sr)
�__doc__r�os.pathrZ
wheel.utilrrr�objectrrrrr�<module> s