]> git.ipfire.org Git - ipfire.org.git/blobdiff - www/webapp/__init__.py
Update handlers that they work.
[ipfire.org.git] / www / webapp / __init__.py
index 25b2326e9f39c53c0aaa1013a414a52f76010828..1a8561641b9b93f8e32fb87eb29e2cee73d708b8 100644 (file)
@@ -16,31 +16,10 @@ tornado.options.enable_pretty_logging()
 
 class Application(tornado.web.Application):
        def __init__(self):
-               handlers = [
-                       # Entry sites that lead the user to index
-                       (r"/", MainHandler),
-                       (r"/[A-Za-z]{2}/?", MainHandler),
-                       #
-                       (r"/[A-Za-z]{2}/index", IndexHandler),
-                       (r"/[A-Za-z]{2}/news", NewsHandler),
-                       (r"/[A-Za-z]{2}/builds", BuildHandler),
-                       (r"/[A-Za-z]{2}/translations?", TranslationHandler),
-                       # Download sites
-                       (r"/[A-Za-z]{2}/downloads?", DownloadHandler),
-                       (r"/[A-Za-z]{2}/downloads?/all", DownloadAllHandler),
-                       (r"/[A-Za-z]{2}/downloads?/development", DownloadDevelopmentHandler),
-                       (r"/[A-Za-z]{2}/downloads?/torrents", DownloadTorrentHandler),
-                       # API
-                       (r"/api/cluster_info", ApiClusterInfoHandler),
-                       # Always the last rule
-                       (r"/[A-Za-z]{2}/(.*)", StaticHandler),
-               ]
-
                settings = dict(
                        cookie_secret = "aXBmaXJlY29va2llc2VjcmV0Cg==",
                        #debug = True,
                        gzip = True,
-                       static_path = os.path.join(BASEDIR, "static"),
                        template_path = os.path.join(BASEDIR, "templates"),
                        ui_modules = {
                                "Build"          : BuildModule,
@@ -54,33 +33,61 @@ class Application(tornado.web.Application):
                        },
                        xsrf_cookies = True,
                )
-               tornado.web.Application.__init__(self, handlers, **settings)
 
-               # ipfire.org
-               self.add_handlers("ipfire.org", [
-                       (r"/", tornado.web.RedirectHandler, { "url" : "http://www.ipfire.org" })
-               ])
+               tornado.web.Application.__init__(self, **settings)
+
+               self.settings["static_path"] = static_path = os.path.join(BASEDIR, "static")
+               static_handlers = [
+                       (r"/static/(.*)", tornado.web.StaticFileHandler, dict(path = static_path)),
+                       (r"/(favicon\.ico)", tornado.web.StaticFileHandler, dict(path = static_path)),
+                       (r"/(robots\.txt)", tornado.web.StaticFileHandler, dict(path = static_path)),
+               ]
+
+               self.add_handlers(r"www\.ipfire\.org", [
+                       # Entry sites that lead the user to index
+                       (r"/", MainHandler),
+                       (r"/[A-Za-z]{2}/?", MainHandler),
+                       #
+                       (r"/[A-Za-z]{2}/index", IndexHandler),
+                       (r"/[A-Za-z]{2}/news", NewsHandler),
+                       (r"/[A-Za-z]{2}/builds", BuildHandler),
+                       (r"/[A-Za-z]{2}/translations?", TranslationHandler),
+                       # Download sites
+                       (r"/[A-Za-z]{2}/downloads?", DownloadHandler),
+                       (r"/[A-Za-z]{2}/downloads?/all", DownloadAllHandler),
+                       (r"/[A-Za-z]{2}/downloads?/development", DownloadDevelopmentHandler),
+                       (r"/[A-Za-z]{2}/downloads?/torrents", DownloadTorrentHandler),
+                       # API
+                       (r"/api/cluster_info", ApiClusterInfoHandler),
+                       # Always the last rule
+                       (r"/[A-Za-z]{2}/(.*)", StaticHandler),
+               ] + static_handlers)
 
                # download.ipfire.org
-               self.add_handlers("download.ipfire.org", [
+               self.add_handlers(r"download\.ipfire\.org", [
                        (r"/", MainHandler),
                        (r"/[A-Za-z]{2}/index", DownloadHandler),
-               ])
+               ] + static_handlers)
 
                # source.ipfire.org
-               self.add_handlers("source.ipfire.org", [
+               self.add_handlers(r"source\.ipfire\.org", [
                        (r"/", MainHandler),
-                       (r"/[A-Za-z]{2}/index", SourceHandler),
-               ])
+#                      (r"/[A-Za-z]{2}/index", SourceHandler),
+               ] + static_handlers)
 
                # torrent.ipfire.org
-               self.add_handlers("torrent.ipfire.org", [
+               self.add_handlers(r"torrent\.ipfire\.org", [
                        (r"/", MainHandler),
                        (r"/[A-Za-z]{2}/index", DownloadTorrentHandler),
-               ])
+               ] + static_handlers)
 
                # tracker.ipfire.org
-               self.add_handlers("tracker.ipfire.org", [
+               self.add_handlers(r"tracker\.ipfire\.org", [
                        (r"/", MainHandler),
                        (r"/[A-Za-z]{2}/index", DownloadTorrentHandler),
+               ] + static_handlers)
+
+               # ipfire.org
+               self.add_handlers(r"ipfire\.org", [
+                       (r".*", tornado.web.RedirectHandler, { "url" : "http://www.ipfire.org" })
                ])