Your IP : 216.73.216.213
�
e f� � @ 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 d l m
Z
d d � Z e j d d
� Z
e j d d � Z e j d
d � e j d d � Z e d k s� e e j d k r� e j e e j d
d � e j � � n d S)z9Python utility to print MD5 checksums of argument files.
i� N�rbaD
usage: md5sum.py [-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
� )�md5c G s� d } | r@ t | d t j � r@ | d | d d � } } n t j } t | � d k r| t | d t � r| | d } n xt | D]l } t | t � r� | d k r� t t j d | � p� | } q� t | | � p� | } q� t
| | � p� | } q� W| S)Nr � �-z<stdin>���r r )�
isinstance�io�IOBase�sys�stdout�len�str�
printsumfp�stdin�printsum�sum)�files�sts�out�f� r �9/opt/alt/python34/lib64/python3.4/Tools/scripts/md5sum.pyr s &
r c C s� y t | t � } WnC t k
rX } z# t j j d | | f � d SWYd d } ~ Xn Xt rn t | � } n t | | | � } | j � | S)Nz%s: Can't open: %s
r ) �open�rmode�IOErrorr
�stderr�write�fnfilterr �close)�filenamer �fp�msgr r r r r , s
r c C s� t � } yU xN | j t � } | s( Pn t | t � rL | j | j � } n | j | � q WWnC t k
r� } z# t j
j d | | f � d SWYd d } ~ Xn X| j d | j � | f � d S)Nz%s: I/O error: %s
r z%s %s
r )
r �read�bufsizer r
�encode�encoding�updater r
r r Z hexdigest)r r r �m�datar! r r r r 8 s r r c C s y t j | d � \ } } WnP t j k
rn } z- t j j d t j d | t f � d SWYd d } ~ Xn Xxt | D]l \ } } | d k r� t j j a
qv | d k r� d a qv | d k r� d a qv | d
k rv t | � a
qv qv W| s� d g } n t | | � S)Nzblts:z %s: %s
%sr � z-lz-br z-t�rz-sr )�getopt�errorr
r r �argv�usage�os�path�basenamer r �intr# r )�argsr Zoptsr! �o�ar r r �mainH s"