X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=juju%2Fclient%2Ffacade.py;h=817b37b12a829dafa0d9109297b8d306652d361e;hb=5cf8d29d1ec5ff9360920dd831ff6ead145e3d11;hp=c4834ee6509fabd4a7c37609001155e836a1a66a;hpb=6438e5b4b66a45fc680c3d6dce15a044ad9979dd;p=osm%2FN2VC.git diff --git a/juju/client/facade.py b/juju/client/facade.py index c4834ee..817b37b 100644 --- a/juju/client/facade.py +++ b/juju/client/facade.py @@ -200,8 +200,9 @@ class {}(Type): {} '''""".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)) @@ -437,6 +438,8 @@ class Type: @classmethod def from_json(cls, data): + if isinstance(data, cls): + return data if isinstance(data, str): data = json.loads(data) d = {}