[Python-checkins] python/dist/src/Tools/scripts md5sum.py,1.2,1.3 sum5.py,1.6,NONE

akuchling@users.sourceforge.net akuchling@users.sourceforge.net
2003年5月13日 10:39:28 -0700


Update of /cvsroot/python/python/dist/src/Tools/scripts
In directory sc8-pr-cvs1:/tmp/cvs-serv15023
Modified Files:
	md5sum.py 
Removed Files:
	sum5.py 
Log Message:
Rename sum5.py to md5sum.py, because sum5.py is more interesting
 as an example program
Index: md5sum.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/scripts/md5sum.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** md5sum.py	17 Apr 2002 21:50:03 -0000	1.2
--- md5sum.py	13 May 2003 17:39:26 -0000	1.3
***************
*** 2,29 ****
 
 """Python utility to print MD5 checksums of argument files.
- 
- Works with Python 2.1 and later.
 """
 
- import sys, md5
 
! BLOCKSIZE = 1024*1024
 
! def main():
! args = sys.argv[1:]
! if not args:
! sys.stderr.write("usage: %s file ...\n" % sys.argv[0])
! sys.exit(2)
! for file in sys.argv[1:]:
! f = open(file, "rb")
! sum = md5.new()
 while 1:
! block = f.read(BLOCKSIZE)
! if not block:
! break
! sum.update(block)
! f.close()
! print sum.hexdigest(), file
 
! if __name__ == "__main__":
! main()
--- 2,89 ----
 
 """Python utility to print MD5 checksums of argument files.
 """
 
 
! bufsize = 8096
! fnfilter = None
! rmode = 'r'
 
! usage = """
! usage: sum5 [-b] [-t] [-l] [-s bufsize] [file ...]
! -b : read files in binary mode
! -t : read files in text mode (default)
! -l : print last pathname component only
! -s bufsize: read buffer size (default %d)
! file ... : files to sum; '-' or no files means stdin
! """ % bufsize
! 
! import sys
! import os
! import getopt
! import md5
! 
! def sum(*files):
! sts = 0
! if files and isinstance(files[-1], file):
! out, files = files[-1], files[:-1]
! else:
! out = sys.stdout
! if len(files) == 1 and not isinstance(files[0], str):
! files = files[0]
! for f in files:
! if isinstance(f, str):
! if f == '-':
! sts = printsumfp(sys.stdin, '<stdin>', out) or sts
! else:
! sts = printsum(f, out) or sts
! else:
! sts = sum(f, out) or sts
! return sts
! 
! def printsum(filename, out = sys.stdout):
! try:
! fp = open(filename, rmode)
! except IOError, msg:
! sys.stderr.write('%s: Can\'t open: %s\n' % (filename, msg))
! return 1
! if fnfilter:
! filename = fnfilter(filename)
! sts = printsumfp(fp, filename, out)
! fp.close()
! return sts
! 
! def printsumfp(fp, filename, out = sys.stdout):
! m = md5.new()
! try:
 while 1:
! data = fp.read(bufsize)
! if not data: break
! m.update(data)
! except IOError, msg:
! sys.stderr.write('%s: I/O error: %s\n' % (filename, msg))
! return 1
! out.write('%s %s\n' % (m.hexdigest(), filename))
! return 0
 
! def main(args = sys.argv[1:], out = sys.stdout):
! global fnfilter, rmode, bufsize
! try:
! opts, args = getopt.getopt(args, 'blts:')
! except getopt.error, msg:
! sys.stderr.write('%s: %s\n%s' % (sys.argv[0], msg, usage))
! return 2
! for o, a in opts:
! if o == '-l':
! fnfilter = os.path.basename
! if o == '-b':
! rmode = 'rb'
! if o == '-t':
! rmode = 'r'
! if o == '-s':
! bufsize = int(a)
! if not args:
! args = ['-']
! return sum(args, out)
! 
! if __name__ == '__main__' or __name__ == sys.argv[0]:
! sys.exit(main(sys.argv[1:], sys.stdout))
--- sum5.py DELETED ---

AltStyle によって変換されたページ (->オリジナル) /