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>
This commit is contained in:
parent
a33aa92934
commit
484c24fd4e
@ -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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user