mirror of https://github.com/morpheus65535/bazarr
63 lines
1.6 KiB
Python
63 lines
1.6 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
"""
|
||
|
flask.globals
|
||
|
~~~~~~~~~~~~~
|
||
|
|
||
|
Defines all the global objects that are proxies to the current
|
||
|
active context.
|
||
|
|
||
|
:copyright: 2010 Pallets
|
||
|
:license: BSD-3-Clause
|
||
|
"""
|
||
|
from functools import partial
|
||
|
|
||
|
from werkzeug.local import LocalProxy
|
||
|
from werkzeug.local import LocalStack
|
||
|
|
||
|
|
||
|
_request_ctx_err_msg = """\
|
||
|
Working outside of request context.
|
||
|
|
||
|
This typically means that you attempted to use functionality that needed
|
||
|
an active HTTP request. Consult the documentation on testing for
|
||
|
information about how to avoid this problem.\
|
||
|
"""
|
||
|
_app_ctx_err_msg = """\
|
||
|
Working outside of application context.
|
||
|
|
||
|
This typically means that you attempted to use functionality that needed
|
||
|
to interface with the current application object in some way. To solve
|
||
|
this, set up an application context with app.app_context(). See the
|
||
|
documentation for more information.\
|
||
|
"""
|
||
|
|
||
|
|
||
|
def _lookup_req_object(name):
|
||
|
top = _request_ctx_stack.top
|
||
|
if top is None:
|
||
|
raise RuntimeError(_request_ctx_err_msg)
|
||
|
return getattr(top, name)
|
||
|
|
||
|
|
||
|
def _lookup_app_object(name):
|
||
|
top = _app_ctx_stack.top
|
||
|
if top is None:
|
||
|
raise RuntimeError(_app_ctx_err_msg)
|
||
|
return getattr(top, name)
|
||
|
|
||
|
|
||
|
def _find_app():
|
||
|
top = _app_ctx_stack.top
|
||
|
if top is None:
|
||
|
raise RuntimeError(_app_ctx_err_msg)
|
||
|
return top.app
|
||
|
|
||
|
|
||
|
# context locals
|
||
|
_request_ctx_stack = LocalStack()
|
||
|
_app_ctx_stack = LocalStack()
|
||
|
current_app = LocalProxy(_find_app)
|
||
|
request = LocalProxy(partial(_lookup_req_object, "request"))
|
||
|
session = LocalProxy(partial(_lookup_req_object, "session"))
|
||
|
g = LocalProxy(partial(_lookup_app_object, "g"))
|