Могу ли я переместить beaker.SessionMiddleware для обработки метода как-то? - PullRequest
0 голосов
/ 20 мая 2010

Немного ужасно, что многие строки кода попадают в "__main__". Может кто-нибудь дать мне совет, как перевести SessionMiddleware в метод handle? Я должен заметить, что я использую сессию в 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()

1 Ответ

0 голосов
/ 20 мая 2010

Я не уверен, что понимаю, почему вы пытаетесь переместить только одну строку. Если вы хотите уменьшить количество вещей в "__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()
...