]> git.ipfire.org Git - ipfire.org.git/blame - www/webapp/menu.py
Merge branch 'planet' into next
[ipfire.org.git] / www / webapp / menu.py
CommitLineData
81675874 1#!/usr/bin/python
2
3import simplejson
4
bf31ca66 5from helpers import Item, _stringify
81675874 6
7class Menu(object):
8 def __init__(self, filename=None):
8463fe5a 9 self.items = {}
81675874 10
11 if filename:
12 self.load(filename)
13
14 def load(self, filename):
15 f = open(filename)
16 data = f.read()
17 f.close()
8463fe5a
MT
18
19 for url, items in simplejson.loads(data).items():
20 self.items[url] = []
21 for item in items:
22 self.items[url].append(MenuItem(**_stringify(item)))
23
24 def get(self, url):
25 return self.items.get(url, [])
81675874 26
27
28class MenuItem(Item):
29 def __init__(self, **args):
30 Item.__init__(self, **args)
31 self.active = False
32
33 # Parse submenu
34 if self.args.has_key("subs"):
35 self.args["items"] = []
36 for sub in self.args["subs"]:
bf31ca66 37 self.args["items"].append(MenuItem(**_stringify(sub)))
81675874 38 del self.args["subs"]
39