Как понять этот код фляжки?

Может ли кто-нибудь объяснить эту строку?

g = LocalProxy(lambda: _request_ctx_stack.top.g) 

код из колбы

 from werkzeug import LocalStack, LocalProxy # context locals _request_ctx_stack = LocalStack() current_app = LocalProxy(lambda: _request_ctx_stack.top.app) request = LocalProxy(lambda: _request_ctx_stack.top.request) session = LocalProxy(lambda: _request_ctx_stack.top.session) g = LocalProxy(lambda: _request_ctx_stack.top.g) 

код Local находится здесь: http://pastebin.com/U3e1bEi0

Документация Werkzeug для LocalStack и LocalProxy может помочь, а также некоторое базовое понимание WSGI .

Похоже, что происходит то, что создается глобальный (но пустой) стек _request_ctx_stack . Это доступно для всех потоков. Некоторые объекты типа WSGI ( current_app , request , session и g ) настроены на использование верхнего элемента в глобальном стеке.

В какой-то момент одно или несколько приложений WSGI помещаются в глобальный стек. Затем, когда, например, current_app используется во время выполнения, используется текущее верхнее приложение. Если стек никогда не инициализируется, то верхний возвращает None, и вы получите исключение, такое как AttributeError: 'NoneType' object has no attribute 'app' .