Puis-je déplacer beaker.SessionMiddleware pour gérer la méthode en quelque sorte?

StackOverflow https://stackoverflow.com/questions/2871424

  •  03-10-2019
  •  | 
  •  

Question

Il est un peu laid que beaucoup de lignes de chute de code dans "__main__". Quelqu'un peut-il me donner une pointe de la façon de se déplacer dans SessionMiddleware méthode de poignée? Je remarque que j'utilise session CoreXmlParser. Merci à l'avance!

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()
Était-ce utile?

La solution

Je ne sais pas je comprends pourquoi vous essayez de déplacer une seule ligne. Si vous voulez réduire la quantité de choses dans « __main__ », pourquoi ne pas déplacer tout ce genre de choses « de #parse config file » dans une fonction distincte?

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()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top