diff options
Diffstat (limited to 'Tools/scripts/sum5.py')
| -rwxr-xr-x | Tools/scripts/sum5.py | 89 | 
1 files changed, 0 insertions, 89 deletions
| diff --git a/Tools/scripts/sum5.py b/Tools/scripts/sum5.py deleted file mode 100755 index 0711db8..0000000 --- a/Tools/scripts/sum5.py +++ /dev/null @@ -1,89 +0,0 @@ -#! /usr/bin/env python - -"""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)) | 
