Update
This commit is contained in:
@@ -36,7 +36,7 @@ class JsonRpcException(Exception):
|
||||
|
||||
|
||||
class Method:
|
||||
def __init__(self, function = None, handler = None, fields = None):
|
||||
def __init__(self, function, handler = None, fields = None):
|
||||
self.function = function
|
||||
self.handler = handler
|
||||
self.fields = fields
|
||||
@@ -64,9 +64,14 @@ class JSONRPC:
|
||||
# ))
|
||||
# funcname = func.__name__
|
||||
# modulename = func.__module__
|
||||
def wrap(func):
|
||||
def wrap(function, handler = None, fields = None):
|
||||
# print(func)
|
||||
self.methods[name] = func
|
||||
method = Method(
|
||||
function = function,
|
||||
handler = None,
|
||||
fields = None
|
||||
)
|
||||
self.methods[name] = method
|
||||
return func
|
||||
return wrap
|
||||
|
||||
@@ -75,13 +80,13 @@ class JSONRPC:
|
||||
"""
|
||||
if name not in self.methods:
|
||||
return None
|
||||
func = self.methods[name]
|
||||
sig = signature(func)
|
||||
method = self.methods[name]
|
||||
sig = signature(method.function)
|
||||
# for key in sig.parameters:
|
||||
# print(sig.parameters[key].annotation)
|
||||
result = {
|
||||
'name': getattr(func, '__name__', None),
|
||||
'summary': getattr(func, '__doc__', None),
|
||||
'name': getattr(method.function, '__name__', None),
|
||||
'summary': getattr(method.function, '__doc__', None),
|
||||
'params': [
|
||||
{'name': k, 'type': sig.parameters[k].annotation.__name__}
|
||||
for k in sig.parameters
|
||||
@@ -95,8 +100,8 @@ class JSONRPC:
|
||||
"""
|
||||
if name not in self.methods:
|
||||
return None
|
||||
func = self.methods[name]
|
||||
sig = signature(func)
|
||||
method = self.methods[name]
|
||||
sig = signature(method.function)
|
||||
params = None
|
||||
for key in sig.parameters:
|
||||
params[key] = ''
|
||||
@@ -192,7 +197,8 @@ class JSONRPC:
|
||||
return result
|
||||
|
||||
def __getitem__(self, key):
|
||||
return self.methods[key]
|
||||
method = self.methods[key]
|
||||
return method.function
|
||||
|
||||
def __iter__(self):
|
||||
return iter(self.methods)
|
||||
@@ -202,7 +208,7 @@ class JSONRPC:
|
||||
|
||||
def __setitem__(self, key, function, handler = None, fields = None):
|
||||
method = Method(function = function, handler = None, fields = None)
|
||||
self.methods[key] = function
|
||||
self.methods[key] = method
|
||||
|
||||
def __delitem__(self, key):
|
||||
del self.methods[key]
|
||||
|
||||
Reference in New Issue
Block a user