]>
Commit | Line | Data |
---|---|---|
81675874 | 1 | #!/usr/bin/python |
2 | ||
3 | import tornado.web | |
4 | ||
5 | import menu | |
6 | import releases | |
7 | ||
8 | class 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 | ||
16 | class MenuItemModule(UIModule): | |
17 | def render(self, item): | |
18 | if self.request.uri.endswith(item.link): | |
19 | item.active = True | |
20 | ||
21 | if type(item.name) == type({}): | |
22 | item.name = item.name[self.locale.code[:2]] | |
23 | ||
24 | return self.render_string("modules/menu-item.html", item=item) | |
25 | ||
26 | ||
27 | class MenuModule(UIModule): | |
28 | #def javascript_files(self): | |
29 | # return ["js/jquery.megamenu.js",] | |
30 | # | |
31 | #def embedded_javascript(self): | |
32 | # return """ | |
33 | # $(document).ready(function(){ | |
34 | # $(".MegaMenuLink").megamenu(".MegaMenuContent"); | |
35 | # });""" | |
36 | ||
37 | def render(self, menuclass=None): | |
38 | return "" # XXX | |
39 | if not menuclass: | |
40 | menuclass = menu.Menu("menu.json") | |
41 | return self.render_string("modules/menu.html", menuitems=menuclass.items) | |
42 | ||
43 | ||
44 | class NewsItemModule(UIModule): | |
45 | def render(self, item): | |
46 | for attr in ("subject", "content"): | |
47 | if type(item[attr]) != type({}): | |
48 | continue | |
49 | item[attr] = item[attr][self.locale.code[:2]] | |
50 | ||
51 | return self.render_string("modules/news-item.html", item=item) | |
52 | ||
53 | ||
54 | #class SidebarModule(UIModule): | |
55 | # def render(self, sidebar): | |
56 | # return self.render_string("modules/sidebar.html", items=sidebar.items) | |
57 | ||
58 | ||
59 | class SidebarItemModule(UIModule): | |
60 | def render(self): | |
61 | return self.render_string("modules/sidebar-item.html") | |
62 | ||
63 | ||
64 | class SidebarReleaseModule(UIModule): | |
65 | releases = releases.Releases() | |
66 | ||
67 | def render(self): | |
68 | return self.render_string("modules/sidebar-release.html", | |
69 | releases=self.releases) | |
70 | ||
71 | ||
72 | class ReleaseItemModule(UIModule): | |
73 | def render(self, item): | |
74 | return self.render_string("modules/release-item.html", item=item) | |
75 | ||
76 | ||
77 | class SidebarBannerModule(UIModule): | |
78 | def render(self, item): | |
79 | return self.render_string("modules/sidebar-banner.html", item=item) | |
80 | ||
81 | ||
82 | class BuildModule(UIModule): | |
83 | def render(self, build): | |
84 | return self.render_string("modules/builds.html", build=build) |