Могу ли я переместить beaker.sessionmiddleware, чтобы справиться с методом как-то?
Вопрос
Это немного уродливо, что многие строки кода попадают в "__main__"
Отказ Может ли кто-нибудь дать мне кончик того, как переместить SessionMiddleware в метод ручки? Я должен заметить, что использую сеанс в CorexMLParser. Заранее спасибо !
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()
Решение
Я не уверен, что понимаю, почему вы пытаетесь переместить только одну строку. Если вы хотите уменьшить количество вещей в «__main__
«Почему бы не просто переместить все это»#parse config file
«Вещи в отдельной функции?
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()
Не связан с StackOverflow