util: Replace optparse with argparse

JIRA: https://gem5.atlassian.net/browse/GEM5-543

Change-Id: Id270ed29f14199f4f8eb6eb5739451a43d100484
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/44512
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2021-04-15 23:31:11 +01:00
parent 2f424f6a13
commit 8d5a8f01e4
8 changed files with 162 additions and 159 deletions

View File

@@ -280,40 +280,44 @@ class SortIncludes(object):
default_languages = frozenset(('C', 'C++', 'isa', 'python', 'scons', 'swig'))
def options():
import optparse
options = optparse.OptionParser()
add_option = options.add_option
add_option('-d', '--dir_ignore', metavar="DIR[,DIR]", type='string',
default=','.join(default_dir_ignore),
help="ignore directories")
add_option('-f', '--file_ignore', metavar="FILE[,FILE]", type='string',
default=','.join(default_file_ignore),
help="ignore files")
add_option('-l', '--languages', metavar="LANG[,LANG]", type='string',
default=','.join(default_languages),
help="languages")
add_option('-n', '--dry-run', action='store_true',
help="don't overwrite files")
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'-d', '--dir_ignore', metavar="DIR[,DIR]", type=str,
default=','.join(default_dir_ignore),
help="ignore directories")
parser.add_argument(
'-f', '--file_ignore', metavar="FILE[,FILE]", type=str,
default=','.join(default_file_ignore),
help="ignore files")
parser.add_argument(
'-l', '--languages', metavar="LANG[,LANG]", type=str,
default=','.join(default_languages),
help="languages")
parser.add_argument(
'-n', '--dry-run', action='store_true',
help="don't overwrite files")
parser.add_argument('bases', nargs='*')
return options
return parser
def parse_args(parser):
opts,args = parser.parse_args()
args = parser.parse_args()
opts.dir_ignore = frozenset(opts.dir_ignore.split(','))
opts.file_ignore = frozenset(opts.file_ignore.split(','))
opts.languages = frozenset(opts.languages.split(','))
args.dir_ignore = frozenset(args.dir_ignore.split(','))
args.file_ignore = frozenset(args.file_ignore.split(','))
args.languages = frozenset(args.languages.split(','))
return opts,args
return args
if __name__ == '__main__':
parser = options()
opts, args = parse_args(parser)
args = parse_args(parser)
for base in args:
for filename,language in find_files(base, languages=opts.languages,
file_ignore=opts.file_ignore, dir_ignore=opts.dir_ignore):
if opts.dry_run:
for base in args.bases:
for filename,language in find_files(base, languages=args.languages,
file_ignore=args.file_ignore, dir_ignore=args.dir_ignore):
if args.dry_run:
print("{}: {}".format(filename, language))
else:
update_file(filename, filename, language, SortIncludes())