]> git.ipfire.org Git - ipfire.org.git/blame - www/webapp/ui_modules.py
Add text to torrent download site.
[ipfire.org.git] / www / webapp / ui_modules.py
CommitLineData
81675874 1#!/usr/bin/python
2
3import tornado.web
4
5import menu
6import releases
7
8class UIModule(tornado.web.UIModule):
9 def render_string(self, *args, **kwargs):
10 kwargs.update({
11 "link" : self.handler.link,
12 })
13 return tornado.web.UIModule.render_string(self, *args, **kwargs)
14
15
16class MenuItemModule(UIModule):
17 def render(self, item):
5a1018ab 18 if self.request.uri.endswith(item.uri):
81675874 19 item.active = True
5a1018ab
MT
20
21 if not item.uri.startswith("http://"):
22 item.uri = "/%s%s" % (self.locale.code[:2], item.uri,)
23
81675874 24 if type(item.name) == type({}):
25 item.name = item.name[self.locale.code[:2]]
5a1018ab 26
81675874 27 return self.render_string("modules/menu-item.html", item=item)
28
29
30class MenuModule(UIModule):
81675874 31 def render(self, menuclass=None):
81675874 32 if not menuclass:
33 menuclass = menu.Menu("menu.json")
34 return self.render_string("modules/menu.html", menuitems=menuclass.items)
35
36
37class NewsItemModule(UIModule):
38 def render(self, item):
39 for attr in ("subject", "content"):
40 if type(item[attr]) != type({}):
41 continue
42 item[attr] = item[attr][self.locale.code[:2]]
43
44 return self.render_string("modules/news-item.html", item=item)
45
46
47#class SidebarModule(UIModule):
48# def render(self, sidebar):
49# return self.render_string("modules/sidebar.html", items=sidebar.items)
50
51
52class SidebarItemModule(UIModule):
53 def render(self):
54 return self.render_string("modules/sidebar-item.html")
55
56
57class SidebarReleaseModule(UIModule):
58 releases = releases.Releases()
59
60 def render(self):
61 return self.render_string("modules/sidebar-release.html",
62 releases=self.releases)
63
64
65class ReleaseItemModule(UIModule):
66 def render(self, item):
67 return self.render_string("modules/release-item.html", item=item)
68
69
70class SidebarBannerModule(UIModule):
71 def render(self, item):
72 return self.render_string("modules/sidebar-banner.html", item=item)
73
74
75class BuildModule(UIModule):
76 def render(self, build):
77 return self.render_string("modules/builds.html", build=build)