Source code for flask_unchained.config
from py_meta_utils import OptionalClass
from .utils import get_boolean_env
class BundleConfigMetaclass(type):
current_app = OptionalClass()
def _set_current_app(cls, app):
cls.current_app = app
[docs]class BundleConfig(metaclass=BundleConfigMetaclass):
"""
Base class for configuration settings. Allows access to the
app-under-construction as it's currently configured. Example usage::
# your_bundle_root/config.py
import os
from flask_unchained import BundleConfig
class Config(BundleConfig):
SHOULD_PRETTY_PRINT_JSON = BundleConfig.current_app.config.DEBUG
"""
class _ConfigDefaults:
DEBUG = get_boolean_env('FLASK_DEBUG', False)
class _DevConfigDefaults:
DEBUG = get_boolean_env('FLASK_DEBUG', True)
class _TestConfigDefaults:
TESTING = True
"""
Tell Flask we're in testing mode.
"""
WTF_CSRF_ENABLED = False
"""
Disable CSRF tokens in tests.
"""
__all__ = [
'BundleConfig',
]