Your IP : 216.73.217.129
B
� f� � @ s� d Z dadadadt ZddlZddlZddlZddlZddl m
Z
dd� Zejfd d
�Z
ejfdd�Zejd
d� ejfdd�Zedks�eejd kr�e�eejd
d� ej�� dS )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}| r0t | d tj�r0| d | d d� }} ntj}t| �dkrXt | d t�sX| d } xP| D ]H}t |t�r�|dkr�ttjd|�p�|}q�t ||�p�|}q^t
||�p�|}q^W |S )Nr ���� �-z<stdin>)�
isinstance�io�IOBase�sys�stdout�len�str�
printsumfp�stdin�printsum�sum)�files�sts�out�f� r �9/opt/alt/python37/lib64/python3.7/Tools/scripts/md5sum.pyr s
r c
C sj yt | t�}W n6 tk
rD } ztj�d| |f � dS d }~X Y nX trRt| �} t|| |�}|�� |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 � }y:x4| �t�}|sP t|t�r0|�| j�}|�|� q
W W n6 tk
rv } zt j
�d||f � dS d }~X Y nX |�d|�� |f � dS )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� yt � | d�\}} W n@ t jk
rT } z tj�dtjd |tf � dS d }~X Y nX xN|D ]F\}}|dkrvtjj a
q\|dkr�daq\|dkr�d aq\|d
kr\t|�a
q\W | s�dg} 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"