def _loadJson(cls, filename):
jsonFh = open(filename, "r")
jsonDb = json.load(jsonFh)
jsonFh.close()
db = cls()
backRefTables = []
for tableName, b64PickledTable in jsonDb.iteritems():
pickledTable = base64.b64decode(b64PickledTable)
table = pickle.loads(pickledTable)
if tableName == "_backRefTables":
backRefTables = table
continue
setattr(db, tableName, table)
for tableName in backRefTables:
getattr(db, tableName).setDatabase(db)
for tableName, table in db.__dict__.iteritems():
table = cls._loadJsonTableTransform(db, tableName, table)
setattr(db, tableName, table)
return db
评论列表
文章目录