diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2019-08-27 12:16:31 +0200 |
---|---|---|
committer | Sam Roberts <vieuxtech@gmail.com> | 2019-09-12 09:26:57 -0700 |
commit | 484c24fd4e3de3c43dacaec4f709736527e449ca (patch) | |
tree | c19544e4e16268c710f3a0f696eeff3cdca88d2c /tools | |
parent | a33aa9293436e512a566524ac428e999dc9ca1f9 (diff) | |
download | android-node-v8-484c24fd4e3de3c43dacaec4f709736527e449ca.tar.gz android-node-v8-484c24fd4e3de3c43dacaec4f709736527e449ca.tar.bz2 android-node-v8-484c24fd4e3de3c43dacaec4f709736527e449ca.zip |
tools: python3 compat for inspector code generator
The code generator takes a dict and turns it into a namedtuple. The dict
contains the key "async", which is a keyword in python 3.7, and rejected
by the namedtuple constructor. Rename it to "async_" to avoid the clash.
Fixes: https://github.com/nodejs/node/issues/29326
PR-URL: https://github.com/nodejs/node/pull/29340
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/inspector_protocol/code_generator.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/inspector_protocol/code_generator.py b/tools/inspector_protocol/code_generator.py index 7b555d7478..c1f78dc749 100755 --- a/tools/inspector_protocol/code_generator.py +++ b/tools/inspector_protocol/code_generator.py @@ -41,6 +41,9 @@ def read_config(): items = [(k, os.path.join(output_base, v) if k == "path" else v) for (k, v) in object_dict.items()] items = [(k, os.path.join(output_base, v) if k == "output" else v) for (k, v) in items] keys, values = list(zip(*items)) + # 'async' is a python 3.7 keyword. Don't use namedtuple(rename=True) + # because that only renames it in python 3 but not python 2. + keys = tuple('async_' if k == 'async' else k for k in keys) return collections.namedtuple('X', keys)(*values) return json.loads(data, object_hook=json_object_hook) @@ -521,7 +524,7 @@ class Protocol(object): def is_async_command(self, domain, command): if not self.config.protocol.options: return False - return self.check_options(self.config.protocol.options, domain, command, "async", None, False) + return self.check_options(self.config.protocol.options, domain, command, "async_", None, False) def is_exported(self, domain, name): |