ó
^ęWc           @@  sŹ   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l	 m
 Z
 d  d l m Z m Z e j e  Z d e f d     YZ d	   Z d S(
   i    (   t   absolute_importN(   t   Command(   t   ERROR(   t   read_chunks(   t   FAVORITE_HASHt   STRONG_HASHESt   HashCommandc           B@  s2   e  Z d  Z d Z d Z d Z d   Z d   Z RS(   s   
    Compute a hash of a local package archive.

    These can be used with --hash in a requirements file to do repeatable
    installs.

    t   hashs   %prog [options] <file> ...s#   Compute hashes of package archives.c         O@  sq   t  t |   j | |   |  j j d d d d d t d d d t d	 d
 d j t  |  j j	 d |  j  d  S(   Ns   -as   --algorithmt   destt	   algorithmt   choicest   actiont   storet   defaultt   helps$   The hash algorithm to use: one of %ss   , i    (
   t   superR   t   __init__t   cmd_optst
   add_optionR   R   t   joint   parsert   insert_option_group(   t   selft   argst   kw(    (    sb   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/commands/hash.pyR      s    		c         C@  sZ   | s |  j  j t j  t S| j } x- | D]% } t j d | | t | |   q- Wd  S(   Ns   %s:
--hash=%s:%s(	   R   t   print_usaget   syst   stderrR   R	   t   loggert   infot   _hash_of_file(   R   t   optionsR   R	   t   path(    (    sb   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/commands/hash.pyt   run(   s    		(   t   __name__t
   __module__t   __doc__t   namet   usaget   summaryR   R!   (    (    (    sb   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/commands/hash.pyR      s   	c         C@  sU   t  |  d  : } t j |  } x! t |  D] } | j |  q. WWd QX| j   S(   s!   Return the hash digest of a file.t   rbN(   t   opent   hashlibt   newR   t   updatet	   hexdigest(   R    R	   t   archiveR   t   chunk(    (    sb   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/commands/hash.pyR   3   s
    (   t
   __future__R    R*   t   loggingR   t   pip.basecommandR   t   pip.status_codesR   t	   pip.utilsR   t   pip.utils.hashesR   R   t	   getLoggerR"   R   R   R   (    (    (    sb   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/commands/hash.pyt   <module>   s   #