support/scripts/pycompile: add main entry point

Only run code when the script is executed directly (not imported).
Factorize command description by using the script's __doc__ variable.
Fix typo in --force help message.

Signed-off-by: Robin Jarry <robin.jarry@6wind.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 7b3025f93e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020.08.x
Robin Jarry 2020-09-08 10:10:23 +02:00 committed by Peter Korsgaard
parent 04f541b88b
commit 17bcb6e157
1 changed files with 14 additions and 7 deletions

View File

@ -58,12 +58,19 @@ class ReportProblem(int):
return not self == other
parser = argparse.ArgumentParser(description='Compile Python source files in a directory tree.')
parser.add_argument("target", metavar='DIRECTORY',
help='Directory to scan')
parser.add_argument("--force", action='store_true',
help="Force compilation even if alread compiled")
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("target", metavar="TARGET",
help="Directory to scan")
parser.add_argument("--force", action="store_true",
help="Force compilation even if already compiled")
args = parser.parse_args()
args = parser.parse_args()
compileall.compile_dir(args.target, force=args.force, quiet=ReportProblem())
compileall.compile_dir(args.target, force=args.force, quiet=ReportProblem())
return 0
if __name__ == "__main__":
sys.exit(main())