-[
- { "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" }
+ ]
+}
class Menu(object):
def __init__(self, filename=None):
- self.items = []
+ self.items = {}
if filename:
self.load(filename)
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):
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]