Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(74859)

Unified Diff: Python/makeopcodetargets.py

Issue 20021: "modernize" makeopcodetargets.py
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
--- a/Python/makeopcodetargets.py Fri Oct 02 23:25:54 2015 -0400
+++ b/Python/makeopcodetargets.py Sun Oct 04 07:56:06 2015 +0300
@@ -6,16 +6,28 @@
# This code should stay compatible with Python 2.3, at least while
# some of the buildbots have Python 2.3 as their system Python.
-import imp
import os
-def find_module(modname):
- """Finds and returns a module in the local dist/checkout.
- """
- modpath = os.path.join(
- os.path.dirname(os.path.dirname(__file__)), "Lib")
- return imp.load_module(modname, *imp.find_module(modname, [modpath]))
+try:
+ from importlib.machinery import SourceFileLoader
+except ImportError:
+ import imp
+
+ def find_module(modname):
+ """Finds and returns a module in the local dist/checkout.
+ """
+ modpath = os.path.join(
+ os.path.dirname(os.path.dirname(__file__)), "Lib")
+ return imp.load_module(modname, *imp.find_module(modname, [modpath]))
+else:
+ def find_module(modname):
+ """Finds and returns a module in the local dist/checkout.
+ """
+ modpath = os.path.join(
+ os.path.dirname(os.path.dirname(__file__)), "Lib", modname + ".py")
+ return SourceFileLoader(modname, modpath).load_module()
+
def write_contents(f):
"""Write C code contents to the target file object.
@@ -32,7 +44,7 @@ def write_contents(f):
if __name__ == "__main__":
import sys
assert len(sys.argv) < 3, "Too many arguments"
- if len(sys.argv) == 2:
+ if len(sys.argv) >= 2:
target = sys.argv[1]
else:
target = "Python/opcode_targets.h"
« no previous file with comments | « no previous file | no next file » | no next file with comments »

RSS Feeds Recent Issues | This issue
This is Rietveld 894c83f36cb7+