ya2 · news · projects · code · about

fixed scenes done
[pmachines.git] / pmachines / persistent.py
CommitLineData
92c29685
FC
1import json
2
3
4class Persistent:
5
6 def __init__(self, scenes_done, opt_file):
7 self.__scenes_done = scenes_done
8 self.__fix_ini_parsing()
9 self.__opt_file = opt_file
10
11 def __fix_ini_parsing(self):
12 #if len(self.__scenes_done) == 1 and not self.__scenes_done[0]:
13 # self.__scenes_done = []
14 #print(self.__scenes_done)
15 #self.__scenes_done = self.__scenes_done[0]
16 if self.__scenes_done:
9209a23b
FC
17 if not isinstance(self.__scenes_done, list): # empty list: []
18 self.__scenes_done = self.__scenes_done.strip("'")
92c29685 19 if self.__scenes_done:
9209a23b
FC
20 if not isinstance(self.__scenes_done, list):
21 self.__scenes_done = json.loads(self.__scenes_done)
92c29685
FC
22
23 def save_scene(self, name, version):
9209a23b 24 scenes = []
ae484241 25 scenes = [scene for scene in self.__scenes_done if scene[0] != name]
92c29685
FC
26 self.__scenes_done = scenes + [(name, version)]
27 self.__opt_file['save']['scenes_done'] = "'%s'" % json.dumps(self.__scenes_done)
28 self.__opt_file.store()
29
30 @property
31 def scenes_done(self):
32 return self.__scenes_done