Mercurial > mamba
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),