]> git.ipfire.org Git - ipfire.org.git/blame - src/backend/netboot.py
CSS: Add CSS for file listings
[ipfire.org.git] / src / backend / netboot.py
CommitLineData
5470bdf1
MT
1#!/usr/bin/python
2
11347e46 3from .misc import Object
5470bdf1
MT
4
5class MenuEntry(object):
6 def __init__(self, _data):
7 self._data = _data
8 self.submenu = None
9
10 @property
11 def id(self):
12 return self._data.get("id")
13
14 @property
15 def type(self):
16 return self._data.get("type", "root")
17
18 @property
19 def title(self):
20 return self._data.get("title", "")
21
22 @property
23 def description(self):
24 return self._data.get("description", "")
25
26 @property
27 def item(self):
28 if self.type == "config":
29 return self._data.get("item")
30
31 @property
32 def submenu_level(self):
33 if self.type == "header":
34 return int(self._data.get("item"))
35
36
9068dba1 37class NetBoot(Object):
5470bdf1
MT
38 def get_menu(self, level=0):
39 menu = []
40
31c90b72 41 for m in self.db.query("SELECT * FROM boot_menu WHERE level = %s ORDER by level,prio", level):
5470bdf1
MT
42 m = MenuEntry(m)
43
44 if m.type == "header":
45 m.submenu = self.get_menu(m.submenu_level)
46
47 menu.append(m)
48
49 return menu
50
51 def get_config(self, id):
5470bdf1 52 return self.db.get("SELECT * FROM boot WHERE id = %s", id)