def _send_client(self, watcher): h = hashlib.sha1(utf8(os.path.abspath(self.client_path))) if self.crawl_version: h.update(utf8(self.crawl_version)) v = h.hexdigest() GameDataHandler.add_version(v, os.path.join(self.client_path, "static")) templ_path = os.path.join(self.client_path, "templates") loader = DynamicTemplateLoader.get(templ_path) templ = loader.load("game.html") game_html = to_unicode(templ.generate(version=v)) watcher.send_message("game_client", version=v, content=game_html)
class MainHandler(tornado.web.RequestHandler): def write_error(self, status_code, **kwargs): if status_code == 503: self.finish(template503) else: super(MainHandler, self).write_error(status_code, **kwargs) def get(self): raise tornado.web.HTTPError(503) settings = { "static_path": "./webserver/static/", "template_loader": DynamicTemplateLoader.get("./webserver/templates/"), "gzip": True, } application = tornado.web.Application([ (r"/morgue(-[^/]+)?/(.*)/(.+\.)(txt|map|lst)", morgue_handler.DumpHandler), (r"/morgue/([^/]+)/", morgue_handler.MorgueHandler), (r"/morgue/", morgue_handler.MorgueIndexHandler), (r"/scoring/top-(\d+).html", ScoreTopNHandler), (r"/meta/(([^/]+)/)?", metafile_handler.MetaFileIndexHandler), (r"/meta/([^/]+)/([^/]+)", metafile_handler.MetaFileHandler), (r"/rcfiles/(([^/]+)/)?", metafile_handler.RCFileIndexHandler), (r"/rcfiles/([^/]+)/([^/]+\.rc)", metafile_handler.RCFileHandler), (r"/.*", MainHandler), ], **settings)