Created
July 25, 2012 05:54
-
-
Save faruken/3174638 to your computer and use it in GitHub Desktop.
Flask running behind Twisted
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
import os | |
from twisted.application import service | |
from twisted.web import server, static | |
from twisted.web.resource import Resource | |
from twisted.web.wsgi import WSGIResource | |
from twisted.internet import reactor | |
from flask.views import MethodView | |
from flask import Flask, render_template | |
SECRET_KEY = 'whhhaat' | |
app = Flask(__name__) | |
app.config.from_object(__name__) | |
class IndexHandler(MethodView): | |
def get(self): | |
return render_template('index.html') | |
app.add_url_rule('/', view_func=IndexHandler.as_view('index')) | |
class Root(Resource): | |
wsgi = WSGIResource(reactor, reactor.getThreadPool(), app) | |
def getChild(self, path, request): | |
request.prepath.pop() | |
request.postpath.insert(0, path) | |
return self.wsgi | |
def render(self, request): | |
return self.wsgi.render(request) | |
application = service.Application('whhhaat') | |
root = Root() | |
static_dir = os.path.join(os.path.abspath(__file__), 'static') | |
resource = static.File(static_dir) | |
root.putChild('static', resource) | |
site = server.Site(root) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
twistd -n web --wsgi lol.app |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment