changeset 331:0c25bca380de

Support for loading level from string.
author Simon Cross <hodgestar@gmail.com>
date Fri, 16 Sep 2011 21:04:42 +0200
parents a2724d0078d8
children 8643c7dbc8ad
files mamba/level.py
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/level.py	Fri Sep 16 20:40:48 2011 +0200
+++ b/mamba/level.py	Fri Sep 16 21:04:42 2011 +0200
@@ -10,6 +10,8 @@
 from mamba.data import load_file
 from mamba import sprites
 
+from StringIO import StringIO
+
 
 class InvalidMapError(Exception):
     pass
@@ -87,15 +89,19 @@
 
 
 class Level(object):
-    def __init__(self, level_name):
+    def __init__(self, level_name, source=None):
         self.level_name = level_name
+        self.source = source
         self.load_level_data()
 
     def load_level_data(self):
         """
         This file format is potentially yucky.
         """
-        level_data = load_file('levels/%s.txt' % (self.level_name,))
+        if self.source is not None:
+            level_data = StringIO(self.source)
+        else:
+            level_data = load_file('levels/%s.txt' % (self.level_name,))
         self.name = level_data.readline().strip()
         tileset_name = level_data.readline().strip()
         self.tileset = Tileset(tileset_name)