]> git.ipfire.org Git - people/shoehn/ipfire.org.git/blame - www/webapp/__init__.py
More translations.
[people/shoehn/ipfire.org.git] / www / webapp / __init__.py
CommitLineData
81675874 1#/usr/bin/python
2
3import os.path
4
5import tornado.locale
6import tornado.options
7import tornado.web
8
9from .handlers import *
10from .ui_modules import *
11
12BASEDIR = os.path.join(os.path.dirname(__file__), "..")
13
14tornado.locale.load_translations(os.path.join(BASEDIR, "translations"))
15tornado.options.enable_pretty_logging()
16
17class Application(tornado.web.Application):
18 def __init__(self):
81675874 19 settings = dict(
20 cookie_secret = "aXBmaXJlY29va2llc2VjcmV0Cg==",
21 #debug = True,
22 gzip = True,
81675874 23 template_path = os.path.join(BASEDIR, "templates"),
24 ui_modules = {
25 "Build" : BuildModule,
26 "Menu" : MenuModule,
27 "MenuItem" : MenuItemModule,
28 "NewsItem" : NewsItemModule,
29 "ReleaseItem" : ReleaseItemModule,
30 "SidebarBanner" : SidebarBannerModule,
31 "SidebarItem" : SidebarItemModule,
32 "SidebarRelease" : SidebarReleaseModule,
33 },
34 xsrf_cookies = True,
35 )
5cf160e0 36
ae0228e1
MT
37 tornado.web.Application.__init__(self, **settings)
38
39 self.settings["static_path"] = static_path = os.path.join(BASEDIR, "static")
40 static_handlers = [
41 (r"/static/(.*)", tornado.web.StaticFileHandler, dict(path = static_path)),
42 (r"/(favicon\.ico)", tornado.web.StaticFileHandler, dict(path = static_path)),
43 (r"/(robots\.txt)", tornado.web.StaticFileHandler, dict(path = static_path)),
44 ]
45
46 self.add_handlers(r"www\.ipfire\.org", [
47 # Entry sites that lead the user to index
48 (r"/", MainHandler),
49 (r"/[A-Za-z]{2}/?", MainHandler),
50 #
51 (r"/[A-Za-z]{2}/index", IndexHandler),
52 (r"/[A-Za-z]{2}/news", NewsHandler),
53 (r"/[A-Za-z]{2}/builds", BuildHandler),
54 (r"/[A-Za-z]{2}/translations?", TranslationHandler),
55 # Download sites
56 (r"/[A-Za-z]{2}/downloads?", DownloadHandler),
57 (r"/[A-Za-z]{2}/downloads?/all", DownloadAllHandler),
58 (r"/[A-Za-z]{2}/downloads?/development", DownloadDevelopmentHandler),
59 (r"/[A-Za-z]{2}/downloads?/torrents", DownloadTorrentHandler),
60 # API
61 (r"/api/cluster_info", ApiClusterInfoHandler),
62 # Always the last rule
63 (r"/[A-Za-z]{2}/(.*)", StaticHandler),
64 ] + static_handlers)
5cf160e0
MT
65
66 # download.ipfire.org
ae0228e1 67 self.add_handlers(r"download\.ipfire\.org", [
5cf160e0
MT
68 (r"/", MainHandler),
69 (r"/[A-Za-z]{2}/index", DownloadHandler),
ae0228e1 70 ] + static_handlers)
5cf160e0
MT
71
72 # source.ipfire.org
ae0228e1 73 self.add_handlers(r"source\.ipfire\.org", [
5cf160e0 74 (r"/", MainHandler),
ae0228e1
MT
75# (r"/[A-Za-z]{2}/index", SourceHandler),
76 ] + static_handlers)
5cf160e0
MT
77
78 # torrent.ipfire.org
ae0228e1 79 self.add_handlers(r"torrent\.ipfire\.org", [
5cf160e0
MT
80 (r"/", MainHandler),
81 (r"/[A-Za-z]{2}/index", DownloadTorrentHandler),
ae0228e1 82 ] + static_handlers)
5cf160e0
MT
83
84 # tracker.ipfire.org
ae0228e1 85 self.add_handlers(r"tracker\.ipfire\.org", [
5cf160e0
MT
86 (r"/", MainHandler),
87 (r"/[A-Za-z]{2}/index", DownloadTorrentHandler),
ae0228e1
MT
88 ] + static_handlers)
89
90 # ipfire.org
91 self.add_handlers(r"ipfire\.org", [
92 (r".*", tornado.web.RedirectHandler, { "url" : "http://www.ipfire.org" })
5cf160e0 93 ])