Mercurial > mamba
changeset 489:e522db37e5c5
Refactor level saving to allow saving to a passed in file (e.g. StringIO object).
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sat, 17 Sep 2011 22:43:37 +0200 |
parents | c3767a453557 |
children | be1e22e3f17c |
files | mamba/habitats/editor.py mamba/level.py |
diffstat | 2 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/habitats/editor.py Sat Sep 17 22:42:33 2011 +0200 +++ b/mamba/habitats/editor.py Sat Sep 17 22:43:37 2011 +0200 @@ -4,6 +4,7 @@ from pygame.locals import SWSURFACE, KEYDOWN, K_1, K_2, MOUSEBUTTONDOWN import sys import traceback +from StringIO import StringIO from mamba.engine import Habitat, NewHabitatEvent from mamba.widgets.level import EditLevelWidget @@ -232,7 +233,9 @@ if message: self.display_dialog(message) return - print "Upload!" + save_file = StringIO() + self.level.save_level(save_file=save_file) + # print save_file.getvalue() return True def load(self, ev, widget, level_dir=None, is_user_dir=False, subdir=''):
--- a/mamba/level.py Sat Sep 17 22:42:33 2011 +0200 +++ b/mamba/level.py Sat Sep 17 22:43:37 2011 +0200 @@ -129,12 +129,13 @@ self.tiles = old_tiles self.tiles_ascii = old_tiles_ascii - def save_level(self, level_dir=None, is_user_dir=False): + def save_level(self, level_dir=None, is_user_dir=False, save_file=None): """Save the current state of the level""" - if level_dir is None: - level_dir = 'levels' - file_path = '%s/%s.txt' % (level_dir, self.level_name) - save_file = load_file(file_path, 'wb', is_user_dir=is_user_dir) + if save_file is None: + if level_dir is None: + level_dir = 'levels' + file_path = '%s/%s.txt' % (level_dir, self.level_name) + save_file = load_file(file_path, 'wb', is_user_dir=is_user_dir) save_file.write('%s\n' % self.name) save_file.write('%s\n' % self.tileset.name) save_file.write('%s\n' % self.background_track)