From 853fad71dd7f0cdc7d5c221b9fdb9eee39efb0b1 Mon Sep 17 00:00:00 2001 From: Florent Pigout Date: Mon, 17 Oct 2011 21:13:56 +0000 Subject: restore simple save/load `atoidejouer` journal entry feature --- diff --git a/activity.py b/activity.py index 8ccacb9..42e28c1 100644 --- a/activity.py +++ b/activity.py @@ -130,9 +130,6 @@ class AToiDeJouerActivity(activity.Activity): self.max_time = 0 # show self._toolbox.show() - # tmp var - _toolbar = None - self.__story_toolbar = None # init toolbars for _n in ['story', 'edit', 'help']: # init toolbar @@ -255,47 +252,34 @@ class AToiDeJouerActivity(activity.Activity): self._update_slider(toolbar) def read_file(self, file_path): - pass - """ - # init content - _data = None - # read file - _file = open(file_path, 'r') + # close db + story.DB().close() + # save content + _f_in = open(file_path) + _f_ou = open(storage.get_db_path('default'), 'wb') try: - _data = _file.read() + _f_ou.write(_f_in.read()) finally: - _file.close() - # parse json data - # self.graphic_keys.loads(_data) - # self.sound_keys.loads(_data) - # set activity new number of keys - # self.update_max_time() - # clear - # self.graphic_keys.ask_clear() - # switch to edit mode if no key - self._toolbox.set_current_toolbar(1) - self._change_screen(toolbar=self.__story_toolbar) - """ + _f_in.close() + _f_ou.close() + # reload db + story.DB(force=True) + # update max time + self.update_max_time() def write_file(self, file_path): - pass - """ - # content dict - _data_dict = { - 'graphic_names': self.graphic_keys._names, - 'graphic_keys': self.graphic_keys._keys, - 'sound_names': self.sound_keys._names, - 'sound_keys': self.sound_keys._keys, - } - # prepare content - _data = json.dumps(_data_dict) + # close db + story.DB().close() # save content - _f = open(file_path, 'wb') + _f_in = open(storage.get_db_path('default')) + _f_ou = open(file_path, 'wb') try: - _f.write(_data) + _f_ou.write(_f_in.read()) finally: - _f.close() - """ + _f_in.close() + _f_ou.close() + # reload db + story.DB(force=True) def close(self, skip_save=False): # stop the thread diff --git a/atoidejouer/db/story.py b/atoidejouer/db/story.py index d10cd87..426baa1 100644 --- a/atoidejouer/db/story.py +++ b/atoidejouer/db/story.py @@ -287,20 +287,19 @@ class DB(object): def __create(self): cur = self.con.cursor() - # remove all first try: cur.execute("drop table %s" % self.name) except Exception, e: pass - # create fresh db cur.execute(self.obj().create()) - # and close + self.con.commit() cur.close() def add(self, obj): cur = self.con.cursor() cur.execute(obj.insert()) count = cur.rowcount + self.con.commit() cur.close() return count @@ -345,6 +344,7 @@ class DB(object): cur = self.con.cursor() cur.execute(obj.update()) rowcount = cur.rowcount + self.con.commit() cur.close() return rowcount @@ -353,9 +353,13 @@ class DB(object): obj = self.obj() if obj is None else obj cur.execute(obj.delete(all=all)) rowcount = cur.rowcount + self.con.commit() cur.close() return rowcount + def close(self): + self.con.close() + # singleton instance instance = None -- cgit v0.9.1