def __init__(self): self.db = pymongo.Connection(port=settings.DB_PORT)[settings.DB_NAME] self.fs = GridFS(self.db) self.loader = Loader( os.path.join(ROOT_DIR, 'template'), autoescape=None, namespace={ 'static_url': lambda url: StaticFileHandler.make_static_url({'static_path': STATIC_DIR}, url), '_modules': ObjectDict({'Template': lambda template, **kwargs: self.loader.load(template).generate(**kwargs)}), }, ) router = TornadioRouter(ScribeConnection) router.app = self socketio = TornadoApplication(router.urls, app=self) self.connections = [] class FooResource(Resource): def __call__(self, request): socketio(request) def __getitem__(self, name): return self Application.__init__(self, { '': HomeResource(self), 'favicon.ico': StaticFileResource(os.path.join(STATIC_DIR, 'img', 'favicon.ico')), 'sounds': EditsResource(self), 'static': StaticFileResource(STATIC_DIR), 'socket.io': FooResource(), })
def make_static_url(self, path): return StaticFileHandler.make_static_url(self.conf, path)
def static_url(self, path: str, **kwargs): return StaticFileHandler.make_static_url(STATIC_SETTINGS, path)