]>
git.ipfire.org Git - people/shoehn/ipfire.org.git/blob - www/webapp/handlers.py
11 #import tornado.database
12 #import tornado.locale
18 from handlers_admin
import *
19 from handlers_base
import *
20 from handlers_download
import *
21 from handlers_iuse
import *
22 from handlers_mirrors
import *
23 from handlers_news
import *
24 from handlers_nopaste
import *
25 from handlers_planet
import *
26 from handlers_rss
import *
27 from handlers_stasy
import *
28 from handlers_tracker
import *
31 class RootHandler(BaseHandler
):
33 This handler redirects any request directly to /.
35 It can be used to be compatible with some ancient index urls.
41 class LangCompatHandler(BaseHandler
):
43 Redirect links in the old format to current site:
45 E.g. /en/index -> /index
47 def get(self
, lang
, page
):
48 self
.redirect("/%s" % page
)
51 class IndexHandler(BaseHandler
):
55 This handler displays the welcome page.
58 # Get a list of the most recent news items and put them on the page.
59 latest_news
= self
.news
.get_latest(limit
=1, locale
=self
.locale
)
61 return self
.render("index.html", latest_news
=latest_news
)
64 class StaticHandler(BaseHandler
):
66 This handler shows the files that are in plain html format.
69 def static_path(self
):
70 return os
.path
.join(self
.application
.settings
["template_path"], "static")
73 def static_files(self
):
74 for dir, subdirs
, files
in os
.walk(self
.static_path
):
75 dir = dir[len(self
.static_path
) + 1:]
77 if not file.endswith(".html"):
79 yield os
.path
.join(dir, file)
81 def get(self
, name
=None):
82 name
= "%s.html" % name
84 if not name
in self
.static_files
:
85 raise tornado
.web
.HTTPError(404)
87 self
.render("static/%s" % name
, lang
=self
.locale
.code
[:2])