import json def loadSession(file, playlist, abController): jsonStr = file.read() session = json.loads(jsonStr) playlist.clear() abController.clear() for entry in session: songPath = entry["path"] abLimits = entry["ab_limits"] playlist.addSong(songPath) if abLimits is not None: for l in abLimits: abController.storeLimits(l[0], l[1], songPath) def saveSession(file, playlist, abController): songs = playlist.getSongs() session = list() for s in songs: entry = { "path": s, "ab_limits" : abController.getStoredLimits(s) } session.append(entry) file.write(json.dumps(session))