diff nagslang/level.py @ 122:02423600d958

Use dialogs to report save results
author Neil Muller <drnlmuller@gmail.com>
date Mon, 02 Sep 2013 16:40:56 +0200
parents c02a99502a90
children d1f543ff0805
line wrap: on
line diff
--- a/nagslang/level.py	Mon Sep 02 16:04:11 2013 +0200
+++ b/nagslang/level.py	Mon Sep 02 16:40:56 2013 +0200
@@ -66,23 +66,23 @@
     def all_closed(self):
         """Check if all the polygons are closed"""
         closed = True
-        for poly in self.polygons.values():
+        messages = []
+        for index, poly in self.polygons.items():
             if len(poly) == 0:
                 # We ignore empty polygons
                 continue
             elif len(poly) == 1:
                 closed = False
-                print "\033[31mError: polygon too small\033[0m"
+                messages.append("Error: polygon %s too small" % index)
             elif poly[-1] != poly[0]:
                 closed = False
-                print "\033[31mError: polygon not closed\033[0m"
-        return closed
+                messages.append("Error: polygon %s not closed" % index)
+        return closed, messages
 
     def save(self):
-        closed = self.all_closed()
+        closed, _ = self.all_closed()
         if not closed:
-            print 'Not saving the level'
-            return
+            return False
         with resources.get_file('levels', self.name, mode='w') as f:
             f.write('X-Size: %s\n' % self.x)
             f.write('Y-Size: %s\n' % self.y)
@@ -93,7 +93,7 @@
                 f.write('Polygon %d : %d\n' % (i, len(poly)))
                 for point in poly:
                     f.write('Point: %d %d\n' % point)
-        print 'level %s saved' % self.name
+        return True
 
     def get_size(self):
         return self.x, self.y