Frage

Es ist ein bisschen hässlich, dass viele Zeilen Code fallen in "__main__". Kann mir jemand einen Tipp geben, wie SessionMiddleware in den Griff Methode zu bewegen? Ich sollte feststellen, dass ich Sitzung in CoreXmlParser verwenden. Vielen Dank im Voraus!

def handle(environ, start_response):
        req = webob.Request(environ)
        c = CoreXmlParser(req)
        resp = webob.Response(body=c(), charset = 'utf-8', status='200 OK', \
        request=req, content_type='text/xml')
        resp(environ, start_response)
        return resp.app_iter

    if __name__ == '__main__':
        #parse config file for session options
        app = SessionMiddleware(handle, some_session_opts_here)
        from flup.server.fcgi import WSGIServer
        WSGIServer(app).run()
War es hilfreich?

Lösung

Ich bin nicht sicher, ob ich verstehe, warum Sie versuchen, nur eine Zeile zu bewegen. Wenn Sie die Menge des Materials in „__main__“ reduzieren wollen, warum nicht nur alle, dass „#parse config file“ Sachen in eine separate Funktion bewegen?

def handle(environ, start_response):
    # same as before

def create_app(config_file):
    #parse config file for session options
    return SessionMiddleWare(handle, some_session_opts_here)

if __name__ == '__main__':
    app = create_app(config_file)
    from flup.server.fcgi import WSGIServer
    WSGIServer(app).run()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top