{}
'''""".format(
name,
- args.PyToSchemaMapping(),
- args.SchemaToPyMapping(),
+ # pprint these to get stable ordering across regens
+ pprint.pformat(args.PyToSchemaMapping(), width=999),
+ pprint.pformat(args.SchemaToPyMapping(), width=999),
", " if args else "",
args.as_kwargs(),
textwrap.indent(args.get_doc(), INDENT * 2))
# Error or the expected Type
if not defs:
return None
+ if defs in basic_types:
+ return strcast(defs, False)
rtypes = _registry.getObj(_types[defs])
if not rtypes:
return None
assignments = []
toschema = args.PyToSchemaMapping()
for arg in args._get_arg_str(False, False):
- assignments.append("{}params[\'{}\'] = {}".format(INDENT,
- toschema[arg],
- arg))
+ assignments.append("{}_params[\'{}\'] = {}".format(INDENT,
+ toschema[arg],
+ arg))
assignments = "\n".join(assignments)
res = retspec(result)
source = """
Returns -> {res}
'''
# map input types to rpc msg
- params = dict()
- msg = dict(type='{cls.name}', request='{name}', version={cls.version}, params=params)
+ _params = dict()
+ msg = dict(type='{cls.name}', request='{name}', version={cls.version}, params=_params)
{assignments}
reply = {await}self.rpc(msg)
return reply
prop = method['properties']
spec = prop.get('Params')
if spec:
- params = _types.get(spec['$ref'])
+ result = _types.get(spec['$ref'])
+ if '$ref' in spec:
+ result = _types.get(spec['$ref'])
+ else:
+ result = SCHEMA_TO_PYTHON[spec['type']]
spec = prop.get('Result')
if spec:
- result = _types.get(spec['$ref'])
+ if '$ref' in spec:
+ result = _types.get(spec['$ref'])
+ else:
+ result = SCHEMA_TO_PYTHON[spec['type']]
return makeFunc(cls, name, params, result)
@classmethod
def from_json(cls, data):
+ if isinstance(data, cls):
+ return data
if isinstance(data, str):
data = json.loads(data)
d = {}
print(capture, file=fp)
-
if __name__ == '__main__':
main()