projects
/
osm
/
N2VC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s/service_name/application_name/g
[osm/N2VC.git]
/
juju
/
client
/
facade.py
diff --git
a/juju/client/facade.py
b/juju/client/facade.py
index
fef42fb
..
5ed5320
100644
(file)
--- a/
juju/client/facade.py
+++ b/
juju/client/facade.py
@@
-124,7
+124,7
@@
class Args(list):
self.append((name, rtype))
def do_explode(self, kind):
self.append((name, rtype))
def do_explode(self, kind):
- if kind in basic_types:
+ if kind in basic_types
or type(kind) is typing.TypeVar
:
return False
if not issubclass(kind, (typing.Sequence,
typing.Mapping)):
return False
if not issubclass(kind, (typing.Sequence,
typing.Mapping)):
@@
-188,9
+188,9
@@
def buildTypes(schema, capture):
for kind in sorted((k for k in _types if not isinstance(k, str)),
key=lambda x: str(x)):
name = _types[kind]
for kind in sorted((k for k in _types if not isinstance(k, str)),
key=lambda x: str(x)):
name = _types[kind]
- args = Args(kind)
if name in classes:
continue
if name in classes:
continue
+ args = Args(kind)
source = ["""
class {}(Type):
_toSchema = {}
source = ["""
class {}(Type):
_toSchema = {}
@@
-200,8
+200,9
@@
class {}(Type):
{}
'''""".format(
name,
{}
'''""".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))
", " if args else "",
args.as_kwargs(),
textwrap.indent(args.get_doc(), INDENT * 2))
@@
-323,6
+324,13
@@
def ReturnMapping(cls):
item_cls = cls.__parameters__[0]
for item in reply:
result.append(item_cls.from_json(item))
item_cls = cls.__parameters__[0]
for item in reply:
result.append(item_cls.from_json(item))
+ """
+ if 'error' in item:
+ cls = classes['Error']
+ else:
+ cls = item_cls
+ result.append(cls.from_json(item))
+ """
else:
result = cls.from_json(reply['response'])
else:
result = cls.from_json(reply['response'])
@@
-337,9
+345,9
@@
def makeFunc(cls, name, params, result, async=True):
assignments = []
toschema = args.PyToSchemaMapping()
for arg in args._get_arg_str(False, False):
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 = """
assignments = "\n".join(assignments)
res = retspec(result)
source = """
@@
-351,8
+359,8
@@
def makeFunc(cls, name, params, result, async=True):
Returns -> {res}
'''
# map input types to rpc msg
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
{assignments}
reply = {await}self.rpc(msg)
return reply
@@
-439,7
+447,6
@@
class Type:
try:
return cls(**d)
except TypeError:
try:
return cls(**d)
except TypeError:
- print(cls)
raise
def serialize(self):
raise
def serialize(self):