]> git.ipfire.org Git - people/shoehn/ipfire.org.git/commitdiff
Change layout of menu.json to create seperate menus per vhost.
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 May 2010 21:32:11 +0000 (23:32 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 May 2010 21:32:11 +0000 (23:32 +0200)
www/menu.json
www/webapp/menu.py

index 7ef23c7939830eacace88a219087f4d1545481cc..20574adc98a591ac3384d9427f19b2df331acf6e 100644 (file)
@@ -1,18 +1,25 @@
-[
-       { "uri"  : "/index",
-         "name" : "Home" },
-       { "uri"  : "/features",
-         "name" : { "de" : "Funktionen", "en" : "Features" }},
-       { "uri"  : "/screenshots",
-         "name" : "Screenshots" },
-       { "uri"  : "/download",
-         "name" : "Downloads" },
-       { "uri"  : "http://wiki.ipfire.org/",
-         "name" : { "de" : "Wiki", "en" : "Wiki" }},
-       { "uri"  : "http://forum.ipfire.org/",
-         "name" : "Forum" },
-       { "uri"  : "/development",
-         "name" : { "de" : "Entwicklung", "en" : "Development" }},
-       { "uri"  : "/cebit",
-         "name" : "CeBIT 2010" }
-]
+{
+       "www.ipfire.org" : [
+               { "uri"  : "/index",
+                 "name" : "Home" },
+               { "uri"  : "/features",
+                 "name" : { "de" : "Funktionen", "en" : "Features" }},
+               { "uri"  : "/screenshots",
+                 "name" : "Screenshots" },
+               { "uri"  : "/download",
+                 "name" : "Downloads" },
+               { "uri"  : "http://wiki.ipfire.org/",
+                 "name" : { "de" : "Wiki", "en" : "Wiki" }},
+               { "uri"  : "http://forum.ipfire.org/",
+                 "name" : "Forum" },
+               { "uri"  : "/development",
+                 "name" : { "de" : "Entwicklung", "en" : "Development" }},
+               { "uri"  : "/cebit",
+                 "name" : "CeBIT 2010" }
+       ],
+
+       "planet.ipfire.org" : [
+               { "uri"  : "/index",
+                 "name" : "Home" }
+       ]
+}
index d998fd37fec224646689119ff7a7196e4d1e63e8..bce95a1a7d60e58c910f3a4757f02826650de73d 100644 (file)
@@ -6,7 +6,7 @@ from helpers import Item, _stringify
 
 class Menu(object):
        def __init__(self, filename=None):
-               self.items = []
+               self.items = {}
 
                if filename:
                        self.load(filename)
@@ -15,9 +15,14 @@ class Menu(object):
                f = open(filename)
                data = f.read()
                f.close()
-               
-               for item in simplejson.loads(data):
-                       self.items.append(MenuItem(**_stringify(item)))
+
+               for url, items in simplejson.loads(data).items():
+                       self.items[url] = []
+                       for item in items:
+                               self.items[url].append(MenuItem(**_stringify(item)))
+
+       def get(self, url):
+               return self.items.get(url, [])
 
 
 class MenuItem(Item):
@@ -32,7 +37,3 @@ class MenuItem(Item):
                                self.args["items"].append(MenuItem(**_stringify(sub)))
                        del self.args["subs"]
 
-
-if __name__ == "__main__":
-       m = Menu("menu.json")
-       print [i.args for i in m.items]