summaryrefslogtreecommitdiff
path: root/Tools/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/scripts')
-rw-r--r--Tools/scripts/generate_opcode_h.py12
-rwxr-xr-xTools/scripts/google.py32
-rw-r--r--Tools/scripts/run_tests.py1
3 files changed, 29 insertions, 16 deletions
diff --git a/Tools/scripts/generate_opcode_h.py b/Tools/scripts/generate_opcode_h.py
index 948b56f900..6622a3c815 100644
--- a/Tools/scripts/generate_opcode_h.py
+++ b/Tools/scripts/generate_opcode_h.py
@@ -1,6 +1,8 @@
# This script generates the opcode.h header file.
import sys
+import tokenize
+
header = """/* Auto-generated by Tools/scripts/generate_opcode_h.py */
#ifndef Py_OPCODE_H
#define Py_OPCODE_H
@@ -35,7 +37,13 @@ enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE,
def main(opcode_py, outfile='Include/opcode.h'):
opcode = {}
- exec(open(opcode_py).read(), opcode)
+ if hasattr(tokenize, 'open'):
+ fp = tokenize.open(opcode_py) # Python 3.2+
+ else:
+ fp = open(opcode_py) # Python 2.7
+ with fp:
+ code = fp.read()
+ exec(code, opcode)
opmap = opcode['opmap']
with open(outfile, 'w') as fobj:
fobj.write(header)
@@ -47,6 +55,8 @@ def main(opcode_py, outfile='Include/opcode.h'):
('HAVE_ARGUMENT', opcode['HAVE_ARGUMENT']))
fobj.write(footer)
+ print("%s regenerated from %s" % (outfile, opcode_py))
+
if __name__ == '__main__':
main(sys.argv[1], sys.argv[2])
diff --git a/Tools/scripts/google.py b/Tools/scripts/google.py
index 12152bb5f8..82fb287188 100755
--- a/Tools/scripts/google.py
+++ b/Tools/scripts/google.py
@@ -1,23 +1,25 @@
#! /usr/bin/env python3
-import sys, webbrowser
+"""Script to search with Google
-def main():
- args = sys.argv[1:]
- if not args:
- print("Usage: %s querystring" % sys.argv[0])
- return
- list = []
- for arg in args:
- if '+' in arg:
- arg = arg.replace('+', '%2B')
+Usage:
+ python3 google.py [search terms]
+"""
+
+import sys
+import urllib.parse
+import webbrowser
+
+
+def main(args):
+ def quote(arg):
if ' ' in arg:
arg = '"%s"' % arg
- arg = arg.replace(' ', '+')
- list.append(arg)
- s = '+'.join(list)
- url = "http://www.google.com/search?q=%s" % s
+ return urllib.parse.quote_plus(arg)
+
+ qstring = '+'.join(quote(arg) for arg in args)
+ url = urllib.parse.urljoin('https://www.google.com/search', '?q=' + qstring)
webbrowser.open(url)
if __name__ == '__main__':
- main()
+ main(sys.argv[1:])
diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
index b582e13250..30283023b6 100644
--- a/Tools/scripts/run_tests.py
+++ b/Tools/scripts/run_tests.py
@@ -26,6 +26,7 @@ def is_resource_use_flag(arg):
def main(regrtest_args):
args = [sys.executable,
+ '-u', # Unbuffered stdout and stderr
'-W', 'default', # Warnings set to 'default'
'-bb', # Warnings about bytes/bytearray
'-E', # Ignore environment variables