403 Forbidden


Disable Functions:
Path : /lib/python2.7/site-packages/pip/utils/
File Upload :
Command :
Current File : //lib/python2.7/site-packages/pip/utils/hashes.pyo

�
>�P_c@@s�ddlmZddlZddlmZmZmZddlmZddl	m
Z
mZmZdZ
dddgZd	efd
��YZdefd��YZdS(
i(tabsolute_importN(tHashMismatchtHashMissingtInstallationError(tread_chunks(t	iteritemstiterkeyst
itervaluestsha256tsha384tsha512tHashescB@sPeZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	saA wrapper that builds multiple hashes at once and checks them against
    known-good values

    cC@s|dkrin||_dS(so
        :param hashes: A dict of algorithm names pointing to lists of allowed
            hex digests
        N(tNonet_allowed(tselfthashes((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyt__init__scC@s	i}x�t|j�D]o}y?|dkrGtj|dt�||<ntj|�||<Wqttfk
r�td|��qXqWx2|D]*}x!t|�D]}|j	|�q�Wq�Wx7t
|�D])\}}|j�|j|kr�dSq�W|j|�dS(s�Check good hashes against ones built from iterable of chunks of
        data.

        Raise HashMismatch if none match.

        tmd5tusedforsecuritysUnknown hash name: %sN(
RR
thashlibtnewtFalset
ValueErrort	TypeErrorRRtupdateRt	hexdigestt_raise(Rtchunkstgotst	hash_nametchunkthashtgot((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pytcheck_against_chunks s
cC@st|j|��dS(N(RR
(RR((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyR:scC@s|jt|��S(saCheck good hashes against a file-like object

        Raise HashMismatch if none match.

        (R!R(Rtfile((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pytcheck_against_file=scC@s)t|d��}|j|�SWdQXdS(Ntrb(topenR#(RtpathR"((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pytcheck_against_pathEscC@s
t|j�S(s,Return whether I know any known-good hashes.(tboolR
(R((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyt__nonzero__IscC@s
|j�S(N(R)(R((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyt__bool__MsN(t__name__t
__module__t__doc__RRR!RR#R'R)R*(((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyRs					t
MissingHashescB@s eZdZd�Zd�ZRS(s�A 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.

    cC@s$tt|�jdigt6�dS(s!Don't offer the ``hashes`` kwarg.RN(tsuperR.Rt
FAVORITE_HASH(R((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyRXscC@st|tj���dS(N(RR0R(RR((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyR^s(R+R,R-RR(((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyR.Qs	(t
__future__RRtpip.exceptionsRRRt	pip.utilsRtpip._vendor.sixRRRR0t
STRONG_HASHEStobjectRR.(((s4/usr/lib/python2.7/site-packages/pip/utils/hashes.pyt<module>s=

404 Not Found
[ LogOut ]