diff -r aea58e1cae75 Tools/scripts/diff.py --- a/Tools/scripts/diff.py Sun Sep 08 14:14:38 2013 +0200 +++ b/Tools/scripts/diff.py Sun Sep 08 18:26:51 2013 +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)