changeset 572:84616c7db2e7

ensure save dir exists before trying to save
author Neil Muller <drnlmuller@gmail.com>
date Tue, 20 Nov 2012 23:37:46 +0200
parents cb8cc5b4d6be
children c01e1e329b47
files mamba/gamestate.py mamba/habitats/editor.py
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/gamestate.py	Tue Nov 20 23:24:16 2012 +0200
+++ b/mamba/gamestate.py	Tue Nov 20 23:37:46 2012 +0200
@@ -16,6 +16,12 @@
     return os.path.join(options.save_location, *path.split('/'))
 
 
+def ensure_save_path_exists(path):
+    location = save_path(path)
+    if not os.path.isdir(location):
+        os.makedirs(location)
+
+
 def level_done(level_name):
     done_levels.add(level_name)
     save_state()
--- a/mamba/habitats/editor.py	Tue Nov 20 23:24:16 2012 +0200
+++ b/mamba/habitats/editor.py	Tue Nov 20 23:37:46 2012 +0200
@@ -12,6 +12,7 @@
 from mamba.engine import (Habitat, NewHabitatEvent, SnakeDiedEvent,
         LevelCompletedEvent)
 from mamba.sprites import find_special_sprites
+from mamba.gamestate import ensure_save_path_exists
 from mamba.widgets.level import EditLevelWidget
 from mamba.widgets.text import TextWidget, TextButton
 from mamba.widgets.imagebutton import ImageButtonWidget
@@ -321,6 +322,7 @@
             self.display_dialog(message)
             return True
         try:
+            ensure_save_path_exists('user_levels')
             self.level.save_level('user_levels', is_user_dir=True)
             self.refresh_display()
             message = MessageBox((300, 300),