changeset: 91686:08b3ee523577 user: Serhiy Storchaka date: Tue Jul 15 13:23:58 2014 +0300 files: Misc/NEWS Tools/scripts/diff.py description: Issue #18974: Tools/scripts/diff.py now uses argparse instead of optparse. diff -r ddfcaeb1c56b -r 08b3ee523577 Misc/NEWS --- a/Misc/NEWS Mon Jul 14 23:07:47 2014 -0400 +++ b/Misc/NEWS Tue Jul 15 13:23:58 2014 +0300 @@ -759,6 +759,8 @@ Tools/Demos ----------- +- Issue #18974: Tools/scripts/diff.py now uses argparse instead of optparse. + - Issue #21906: Make Tools/scripts/md5sum.py work in Python 3. Patch by Zachary Ware. diff -r ddfcaeb1c56b -r 08b3ee523577 Tools/scripts/diff.py --- a/Tools/scripts/diff.py Mon Jul 14 23:07:47 2014 -0400 +++ b/Tools/scripts/diff.py Tue Jul 15 13:23:58 2014 +0300 @@ -8,7 +8,7 @@ """ -import sys, os, time, difflib, optparse +import sys, os, time, difflib, argparse from datetime import datetime, timezone def file_mtime(path): @@ -18,23 +18,25 @@ def main(): - usage = "usage: %prog [options] fromfile tofile" - parser = optparse.OptionParser(usage) - parser.add_option("-c", action="store_true", default=False, help='Produce a context format diff (default)') - parser.add_option("-u", action="store_true", default=False, help='Produce a unified format diff') - parser.add_option("-m", action="store_true", default=False, help='Produce HTML side by side diff (can use -c and -l in conjunction)') - parser.add_option("-n", action="store_true", default=False, help='Produce a ndiff format diff') - parser.add_option("-l", "--lines", type="int", default=3, help='Set number of context lines (default 3)') - (options, args) = parser.parse_args() - - if len(args) == 0: - parser.print_help() - sys.exit(1) - if len(args) != 2: - parser.error("need to specify both a fromfile and tofile") + parser = argparse.ArgumentParser() + parser.add_argument('-c', action='store_true', default=False, + help='Produce a context format diff (default)') + parser.add_argument('-u', action='store_true', default=False, + help='Produce a unified format diff') + parser.add_argument('-m', action='store_true', default=False, + help='Produce HTML side by side diff ' + '(can use -c and -l in conjunction)') + parser.add_argument('-n', action='store_true', default=False, + help='Produce a ndiff format diff') + parser.add_argument('-l', '--lines', type=int, default=3, + help='Set number of context lines (default 3)') + parser.add_argument('fromfile') + parser.add_argument('tofile') + options = parser.parse_args() n = options.lines - fromfile, tofile = args + fromfile = options.fromfile + tofile = options.tofile fromdate = file_mtime(fromfile) todate = file_mtime(tofile)