Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/atoidejouer/tools/storage.py
diff options
context:
space:
mode:
Diffstat (limited to 'atoidejouer/tools/storage.py')
-rw-r--r--atoidejouer/tools/storage.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/atoidejouer/tools/storage.py b/atoidejouer/tools/storage.py
index f18e892..0e471cd 100644
--- a/atoidejouer/tools/storage.py
+++ b/atoidejouer/tools/storage.py
@@ -67,6 +67,45 @@ def get_sequence_first_graphic_name(type_, sequence_name):
return None if len(_names) == 0 else _names[0].strip()
+def sequence_save(toolbar, remove=False):
+ # get sequence name
+ _name = toolbar._sequence_entry.get_text()
+ # get screen
+ _screen = toolbar.activity.get_current_screen()
+ # get nb of graphics
+ _nb_of_items = _screen.sequence_preview.number_of_items()
+ # type shortcut 'graphic' or 'sound'
+ _type = _screen.notebook._type
+ # get sequence path
+ _seq_path = get_sequence_path(_type, _name)
+ # little check
+ if _name.strip() == '':
+ return
+ elif _nb_of_items == 0\
+ and remove is True:
+ # remove from files
+ os.remove(_seq_path)
+ # ..
+ _keys = toolbar.activity.graphic_keys\
+ if toolbar.name == 'graphics_add'\
+ else toolbar.activity.sound_keys
+ # remove from keys
+ _keys.remove_sequence(_name)
+ else:
+ # open file
+ _file = open(_seq_path, 'wb')
+ # update
+ for _filename in _screen.sequence_preview.items:
+ _filename = _filename.strip()
+ if _filename == '':
+ continue
+ else:
+ _file.write('%s\n' % _filename)
+ _file.close()
+ # update notebook
+ _screen.notebook._get_store_sequence()
+
+
def get_sound_path(filename, dir_='sounds'):
# return path
return os.path.join(activity.get_activity_root(), 'data', dir_,