Skip to content

Instantly share code, notes, and snippets.

@mgk
Forked from faruken/lol.py
Created March 31, 2014 22:46
Show Gist options
  • Save mgk/9904100 to your computer and use it in GitHub Desktop.
Save mgk/9904100 to your computer and use it in GitHub Desktop.
#!/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)
twistd -n web --wsgi lol.app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment