# HG changeset patch # User Simon Cross # Date 1316200559 -7200 # Node ID 387b901bb462289b4d11042b724041bdc631e61b # Parent 1fc3fa4f6c9cc7050dbf3afae85d842b29e1981c ULM! diff -r 1fc3fa4f6c9c -r 387b901bb462 mamba/habitats/mainmenu.py --- 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'))) diff -r 1fc3fa4f6c9c -r 387b901bb462 mamba/habitats/userlevelmenu.py --- /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)