File: //proc/self/root/usr/lib64/python2.7/Tools/scripts/md5sum.pyo
�
{�fc           @   s�   d  Z  d a d a d a d t Z d d l Z d d l Z d d l Z d d l	 Z	 d �  Z
 e j d � Z e j d � Z
 e j d	 e j d
 � Z e d k s� e e j d k r� e j e e j d	 e j � � n  d S(
   s9   Python utility to print MD5 checksums of argument files.
i�  t   rbs?  
usage: sum5 [-b] [-t] [-l] [-s bufsize] [file ...]
-b        : read files in binary mode (default)
-t        : read files in text mode (you almost certainly don't want this!)
-l        : print last pathname component only
-s bufsize: read buffer size (default %d)
file ...  : files to sum; '-' or no files means stdin
i����Nc          G   s�   d } |  r7 t  |  d t � r7 |  d |  d  } }  n	 t j } t |  � d k rs t  |  d t � rs |  d }  n  xt |  D]l } t  | t � r� | d k r� t t j d | � p� | } q� t | | � p� | } qz t	 | | � p� | } qz W| S(   Ni    i����i   t   -s   <stdin>(
   t
   isinstancet   filet   syst   stdoutt   lent   strt
   printsumfpt   stdint   printsumt   sum(   t   filest   stst   outt   f(    (    s,   /usr/lib64/python2.7/Tools/scripts/md5sum.pyR      s    	&
c         C   sy   y t  |  t � } Wn. t k
 rC } t j j d |  | f � d SXt rY t |  � }  n  t | |  | � } | j �  | S(   Ns   %s: Can't open: %s
i   (	   t   opent   rmodet   IOErrorR   t   stderrt   writet   fnfilterR   t   close(   t   filenameR   t   fpt   msgR
   (    (    s,   /usr/lib64/python2.7/Tools/scripts/md5sum.pyR
   +   s    
c         C   s�   t  j �  } y0 x) |  j t � } | s+ Pn  | j | � q Wn. t k
 rl } t j j d | | f � d SX| j d | j	 �  | f � d S(   Ns   %s: I/O error: %s
i   s   %s %s
i    (
   t   md5t   newt   readt   bufsizet   updateR   R   R   R   t	   hexdigest(   R   R   R   t   mt   dataR   (    (    s,   /usr/lib64/python2.7/Tools/scripts/md5sum.pyR   7   s    i   c         C   s�   y t  j  |  d � \ } }  Wn; t  j k
 rY } t j j d t j d | t f � d SXxt | D]l \ } } | d k r� t j j	 a
 qa | d k r� d a qa | d k r� d	 a qa | d
 k ra t | � a
 qa qa W|  s� d g }  n  t |  | � S(   Ns   blts:s	   %s: %s
%si    i   s   -ls   -bR    s   -tt   rs   -sR   (   t   getoptt   errorR   R   R   t   argvt   usaget   ost   patht   basenameR   R   t   intR   R   (   t   argsR   t   optsR   t   ot   a(    (    s,   /usr/lib64/python2.7/Tools/scripts/md5sum.pyt   mainE   s"