diff --git a/src/scaffoldmaker/scaffolds.py b/src/scaffoldmaker/scaffolds.py index ccee1115..584bbea9 100644 --- a/src/scaffoldmaker/scaffolds.py +++ b/src/scaffoldmaker/scaffolds.py @@ -109,18 +109,18 @@ def findScaffoldTypeByName(self, name): return None def getDefaultMeshType(self): - ''' + """ Deprecated: use getDefaultScaffoldType() - ''' + """ return self.getDefaultScaffoldType() def getDefaultScaffoldType(self): return MeshType_3d_box1 def getMeshTypes(self): - ''' + """ Deprecated: use getScaffoldTypes() - ''' + """ return self.getScaffoldTypes() def getScaffoldTypes(self): @@ -128,9 +128,9 @@ def getScaffoldTypes(self): class Scaffolds_JSONEncoder(json.JSONEncoder): - ''' + """ Class encoding scaffold objects in JSON. Pass as cls argument to json.dumps. - ''' + """ def default(self, obj): if isinstance(obj, ScaffoldPackage): @@ -144,11 +144,14 @@ def default(self, obj): def Scaffolds_decodeJSON(dct): - ''' + """ Function for passing as object_hook argument to json.loads. Constructs scaffold objects from their JSON object encoding. - ''' - if ('_ScaffoldPackage' in dct): + """ + for key in dct.keys(): + if isinstance(dct[key], dict): + dct[key] = Scaffolds_decodeJSON(dct[key]) + if '_ScaffoldPackage' in dct: scaffoldType = Scaffolds().findScaffoldTypeByName(dct['scaffoldTypeName']) #print('Scaffolds_decodeJSON scaffoldType',scaffoldType.getName(), dct) return ScaffoldPackage(scaffoldType, dct)