This commit is contained in:
2022-02-02 02:34:47 +03:00
parent 2123554ad7
commit a28e2e04d3

View File

@@ -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]