]>
Commit | Line | Data |
---|---|---|
81675874 | 1 | #!/usr/bin/python |
2 | ||
3 | import simplejson | |
4 | ||
bf31ca66 | 5 | from helpers import Item, _stringify |
81675874 | 6 | |
7 | class 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 | ||
28 | class 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 |