changeset 334:387b901bb462

ULM!
author Simon Cross <hodgestar@gmail.com>
date Fri, 16 Sep 2011 21:15:59 +0200
parents 1fc3fa4f6c9c
children b0ac80c7db04
files mamba/habitats/mainmenu.py mamba/habitats/userlevelmenu.py
diffstat 2 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/habitats/mainmenu.py	Fri Sep 16 21:05:29 2011 +0200
+++ b/mamba/habitats/mainmenu.py	Fri Sep 16 21:15:59 2011 +0200
@@ -22,6 +22,9 @@
         quit = TextButton((100, 300), "Quit")
         quit.add_callback('clicked', self.quit_keydown_event)
         self.container.add(quit)
+        userlevels = TextButton((100, 400), "User Levels")
+        userlevels.add_callback('clicked', self.userlevels_event)
+        self.container.add(userlevels)
         self.container.add_callback(KEYDOWN, self.keydown_event)
 
         # Just for debugging cascading containers...
@@ -37,6 +40,11 @@
         NewHabitatEvent.post(LevelMenu())
         return True
 
+    def userlevels_event(self, ev, widget):
+        from mamba.habitats.userlevelmenu import UserLevelMenu
+        NewHabitatEvent.post(UserLevelMenu())
+        return True
+
     def edit_event(self, ev, widget):
         from mamba.habitats.editor import EditorHabitat
         NewHabitatEvent.post(EditorHabitat(Level('dev')))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mamba/habitats/userlevelmenu.py	Fri Sep 16 21:15:59 2011 +0200
@@ -0,0 +1,22 @@
+"""Level menu."""
+
+from mamba.habitats.levelmenu import LevelMenu
+from mamba.level import Level
+
+import urllib2
+
+
+class UserLevelMenu(LevelMenu):
+
+    LEVEL_SERVER_URL = "http://localhost:5000/"
+
+    def list_levels(self):
+        url = "%s%s" % (self.LEVEL_SERVER_URL, "index")
+        data = urllib2.urlopen(url).read()
+        levels = [x.strip() for x in data.splitlines()]
+        return levels
+
+    def get_level(self, name):
+        url = "%s%s/%s" % (self.LEVEL_SERVER_URL, "level", name)
+        source = urllib2.urlopen(url).read()
+        return Level(name, source)