Viewing File: /usr/lib/python3.6/site-packages/pip/utils/__pycache__/hashes.cpython-36.opt-1.pyc

3

aj2@szddlmZddlZddlmZmZmZddlmZddl	m
Z
mZmZdZ
dddgZGd	d
d
eZGdddeZdS)
)absolute_importN)HashMismatchHashMissingInstallationError)read_chunks)	iteritemsiterkeys
itervaluesZsha256Zsha384Zsha512c@sJeZdZdZdddZddZddZd	d
ZddZd
dZ	ddZ
dS)HasheszaA wrapper that builds multiple hashes at once and checks them against
    known-good values

    NcCs|dkrin||_dS)zo
        :param hashes: A dict of algorithm names pointing to lists of allowed
            hex digests
        N)_allowed)selfhashesr/usr/lib/python3.6/hashes.py__init__szHashes.__init__c
Csi}xJt|jD]<}ytj|||<Wqttfk
rJtd|YqXqWx(|D] }xt|D]}|j|qdWqVWx*t	|D]\}}|j
|j|krdSqW|j|dS)zCheck good hashes against ones built from iterable of chunks of
        data.

        Raise HashMismatch if none match.

        zUnknown hash name: %sN)rrhashlibnew
ValueError	TypeErrorrr	updater	hexdigest_raise)rZchunksgotsZ	hash_namechunkhashZgotrrrcheck_against_chunks s
zHashes.check_against_chunkscCst|j|dS)N)rr)rrrrrr7sz
Hashes._raisecCs|jt|S)zaCheck good hashes against a file-like object

        Raise HashMismatch if none match.

        )rr)rfilerrrcheck_against_file:szHashes.check_against_filec	Cs t|d}|j|SQRXdS)Nrb)openr)rpathrrrrcheck_against_pathBszHashes.check_against_pathcCs
t|jS)z,Return whether I know any known-good hashes.)boolr)rrrr__nonzero__FszHashes.__nonzero__cCs|jS)N)r#)rrrr__bool__JszHashes.__bool__)N)__name__
__module____qualname____doc__rrrrr!r#r$rrrrr
s
r
cs(eZdZdZfddZddZZS)
MissingHasheszA workalike for Hashes used when we're missing a hash for a requirement

    It computes the actual hash of the requirement and raises a HashMissing
    exception showing it to the user.

    cstt|jtgiddS)z!Don't offer the ``hashes`` kwarg.)r
N)superr)r
FAVORITE_HASH)r)	__class__rrrUszMissingHashes.__init__cCst|tjdS)N)rr+r)rrrrrr[szMissingHashes._raise)r%r&r'r(rr
__classcell__rr)r,rr)Nsr))Z
__future__rrZpip.exceptionsrrrZ	pip.utilsrZpip._vendor.sixrrr	r+Z
STRONG_HASHESobjectr
r)rrrr<module>s
:
Back to Directory File Manager