changeset 485:e4e9e607e6f9

Factor out level checking messages for re-use in upload.
author Simon Cross <hodgestar@gmail.com>
date Sat, 17 Sep 2011 22:29:25 +0200
parents 4e0b097e657b
children f7eae307288b
files mamba/habitats/editor.py
diffstat 1 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/habitats/editor.py	Sat Sep 17 22:28:03 2011 +0200
+++ b/mamba/habitats/editor.py	Sat Sep 17 22:29:25 2011 +0200
@@ -198,7 +198,7 @@
         self.current_tool.prepare()
         return True
 
-    def save(self, ev, widget):
+    def check_level(self):
         message = None
         if not self.level.level_name:
             message = MessageBox((300, 300), 'Please enter a name')
@@ -206,10 +206,17 @@
             message = MessageBox((300, 300), 'Reserved level name')
         elif '/' in self.level.level_name:
             message = MessageBox((300, 300), 'Illegal level name')
-        try:
-            self.level.validate_level()
-        except InvalidMapError, error:
-            message = MessageBox((300, 300), "Map isn't valid\n%s" % error)
+
+        if message is None:
+            try:
+                self.level.validate_level()
+            except InvalidMapError, error:
+                message = MessageBox((300, 300), "Map isn't valid\n%s" % error)
+
+        return message
+
+    def save(self, ev, widget):
+        message = self.check_level()
         if message:
             self.display_dialog(message)
             return
@@ -221,7 +228,12 @@
         return self.load(ev, widget, 'levels', subdir='templates')
 
     def upload(self, ev, widget):
+        message = self.check_level()
+        if message:
+            self.display_dialog(message)
+            return
         print "Upload!"
+        return True
 
     def load(self, ev, widget, level_dir=None, is_user_dir=False, subdir=''):
         if level_dir is None: