Canonicalize the requested RPC method name

This commit is contained in:
Ole André Vadla Ravnås
2016-02-18 02:15:08 +01:00
parent 39e525c2d5
commit 3d9b6f3a05
+14 -1
View File
@@ -532,8 +532,9 @@ class ScriptExports(object):
def __getattr__(self, name):
script = self._script
js_name = _to_camel_case(name)
def method(*args):
return script._rpc_request('call', name, args)
return script._rpc_request('call', js_name, args)
return method
class Module(FunctionContainer):
@@ -678,6 +679,18 @@ class FunctionMap(AddressMap):
def __init__(self, functions, get_address=lambda f: f.absolute_address):
super(FunctionMap, self).__init__(functions, get_address, lambda f: 1)
def _to_camel_case(name):
result = ""
uppercase_next = False
for c in name:
if c == '_':
uppercase_next = True
elif uppercase_next:
result += c.upper()
uppercase_next = False
else:
result += c.lower()
return result
def _execute_script(script, post_hook=None):
def on_message(message, data):
if message['type'] == 'send':