summaryrefslogtreecommitdiffstats
path: root/Lib/lib2to3
diff options
context:
space:
mode:
authorNed Deily <nad@acm.org>2012-09-09 01:50:56 (GMT)
committerNed Deily <nad@acm.org>2012-09-09 01:50:56 (GMT)
commit47bcfff26be59c3979778b4621cd61f132c1a6d9 (patch)
tree3db9fce0f6647490f4d11f4d1d2dee7ee755baa3 /Lib/lib2to3
parent14d66a98ed8674fd2e6ba2f04ddef694111011a2 (diff)
downloadcpython-47bcfff26be59c3979778b4621cd61f132c1a6d9.zip
cpython-47bcfff26be59c3979778b4621cd61f132c1a6d9.tar.gz
cpython-47bcfff26be59c3979778b4621cd61f132c1a6d9.tar.bz2
Issue #15822: Fix installation of lib2to3 grammar pickles to ensure
they are created in the install locations and with the proper timestamp. (Solution suggested by MvL)
Diffstat (limited to 'Lib/lib2to3')
-rw-r--r--Lib/lib2to3/pgen2/driver.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/lib2to3/pgen2/driver.py b/Lib/lib2to3/pgen2/driver.py
index e7828ff..4c611c6 100644
--- a/Lib/lib2to3/pgen2/driver.py
+++ b/Lib/lib2to3/pgen2/driver.py
@@ -138,3 +138,20 @@ def _newer(a, b):
if not os.path.exists(b):
return True
return os.path.getmtime(a) >= os.path.getmtime(b)
+
+
+def main(*args):
+ """Main program, when run as a script: produce grammar pickle files.
+
+ Calls load_grammar for each argument, a path to a grammar text file.
+ """
+ if not args:
+ args = sys.argv[1:]
+ logging.basicConfig(level=logging.INFO, stream=sys.stdout,
+ format='%(message)s')
+ for gt in args:
+ load_grammar(gt, save=True, force=True)
+ return True
+
+if __name__ == "__main__":
+ sys.exit(int(not main()))