66
77bufsize = 8096
88fnfilter = None
9- rmode = 'r '
9+ rmode = 'rb '
1010
1111usage = """
1212usage: sum5 [-b] [-t] [-l] [-s bufsize] [file ...]
13- -b : read files in binary mode
14- -t : read files in text mode (default )
13+ -b : read files in binary mode (default)
14+ -t : read files in text mode (you almost certainly don't want this! )
1515-l : print last pathname component only
1616-s bufsize: read buffer size (default %d)
1717file ... : files to sum; '-' or no files means stdin
@@ -40,7 +40,7 @@ def sum(*files):
4040 sts = sum (f , out ) or sts
4141 return sts
4242
43- def printsum (filename , out = sys .stdout ):
43+ def printsum (filename , out = sys .stdout ):
4444 try :
4545 fp = open (filename , rmode )
4646 except IOError , msg :
@@ -52,20 +52,21 @@ def printsum(filename, out = sys.stdout):
5252 fp .close ()
5353 return sts
5454
55- def printsumfp (fp , filename , out = sys .stdout ):
55+ def printsumfp (fp , filename , out = sys .stdout ):
5656 m = md5 .new ()
5757 try :
5858 while 1 :
5959 data = fp .read (bufsize )
60- if not data : break
60+ if not data :
61+ break
6162 m .update (data )
6263 except IOError , msg :
6364 sys .stderr .write ('%s: I/O error: %s\n ' % (filename , msg ))
6465 return 1
6566 out .write ('%s %s\n ' % (m .hexdigest (), filename ))
6667 return 0
6768
68- def main (args = sys .argv [1 :], out = sys .stdout ):
69+ def main (args = sys .argv [1 :], out = sys .stdout ):
6970 global fnfilter , rmode , bufsize
7071 try :
7172 opts , args = getopt .getopt (args , 'blts:' )
@@ -75,11 +76,11 @@ def main(args = sys.argv[1:], out = sys.stdout):
7576 for o , a in opts :
7677 if o == '-l' :
7778 fnfilter = os .path .basename
78- if o == '-b' :
79+ elif o == '-b' :
7980 rmode = 'rb'
80- if o == '-t' :
81+ elif o == '-t' :
8182 rmode = 'r'
82- if o == '-s' :
83+ elif o == '-s' :
8384 bufsize = int (a )
8485 if not args :
8586 args = ['-' ]
0 commit comments