]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/menu.py
Cursos y alumnos
[software/sercom.git] / sercom / menu.py
index ef9f5909ed5eb315756c4f65e7be026eba0c4c82..acaf4989872b033e78b3ab4c5fc183e68c924a0e 100644 (file)
@@ -1,18 +1,16 @@
 
 from turbogears import url
 
 from turbogears import url
-from turbogears import controllers
+from turbogears.controllers import Controller
 
 class Menu:
 
 class Menu:
-    def __init__(self, controller):
+    def __init__(self, base):
         # Armo la lista de subcontrollers
         # Armo la lista de subcontrollers
-        self.items = []
-        for i in controller.__dict__:
-            if isinstance(getattr(controller, i),controllers.Controller):
-                self.items.append(i)
+        self.items = filter(lambda i: isinstance(getattr(base, i), Controller), base.__dict__)
         self.items.sort()
 
     def __repr__(self):
         self.items.sort()
 
     def __repr__(self):
-        t = """
+        option = u"""<option value="%s">%s</option>" """
+        template = """
         <div id="navbar">
                        Ir a :
                        <select OnChange="window.location=this.options[this.selectedIndex].value;">
         <div id="navbar">
                        Ir a :
                        <select OnChange="window.location=this.options[this.selectedIndex].value;">
@@ -22,6 +20,6 @@ class Menu:
         """
         s = ''
         for i in self.items:
         """
         s = ''
         for i in self.items:
-            s = s + u"""<option value="%s" %s>%s</option>" """ % (url('/' + i), i.capitalize().replace('_', ' '))
+            s + = option % (url('/' + i), i.capitalize().replace('_', ' '))
         return t % s
 
         return t % s