def config_loader(app, **kwargs_config): invenio_config_loader = create_config_loader(config=config, env_prefix=env_prefix) result = invenio_config_loader(app, **kwargs_config) app.url_map.strict_slashes = False app.cli.add_command(hal) return result
def test_conf_loader_factory(): """Test the conf factory.""" tmppath = tempfile.mkdtemp() try: app = Flask('testapp') # Module configuration class Config(object): MODULE = 'module' FOLDER = 'module' KWARGS = 'module' ENV = 'module' # Instance path configuration with open(join(tmppath, 'testapp.cfg'), 'w') as f: f.write("FOLDER = 'folder'\n") f.write("KWARGS = 'folder'\n") f.write("ENV = 'folder'\n") # Keyword arguments configuration kwargs = dict(KWARGS='kwargs', ENV='kwargs') # Environment configuraiton os.environ['APREFIX_ENV'] = 'env' # Create conf loader conf_loader = create_config_loader(Config, env_prefix="APREFIX") app = Flask('testapp', instance_path=tmppath, instance_relative_config=True) conf_loader(app, **kwargs) # Test correct overwriting of values. assert app.config['EP'] == 'ep' assert app.config['MODULE'] == 'module' assert app.config['FOLDER'] == 'folder' assert app.config['KWARGS'] == 'kwargs' assert app.config['ENV'] == 'env' finally: shutil.rmtree(tmppath)
def test_conf_loader_factory(): """Test the conf factory.""" tmppath = tempfile.mkdtemp() try: app = Flask("testapp") # Module configuration class Config(object): MODULE = "module" FOLDER = "module" KWARGS = "module" ENV = "module" # Instance path configuration with open(join(tmppath, "testapp.cfg"), "w") as f: f.write("FOLDER = 'folder'\n") f.write("KWARGS = 'folder'\n") f.write("ENV = 'folder'\n") # Keyword arguments configuration kwargs = dict(KWARGS="kwargs", ENV="kwargs") # Environment configuraiton os.environ["APREFIX_ENV"] = "env" # Create conf loader conf_loader = create_config_loader(Config, env_prefix="APREFIX") app = Flask("testapp", instance_path=tmppath, instance_relative_config=True) conf_loader(app, **kwargs) # Test correct overwriting of values. assert app.config["EP"] == "ep" assert app.config["MODULE"] == "module" assert app.config["FOLDER"] == "folder" assert app.config["KWARGS"] == "kwargs" assert app.config["ENV"] == "env" finally: shutil.rmtree(tmppath)
def test_conf_loader_factory(): """Test the conf factory.""" tmppath = tempfile.mkdtemp() try: app = Flask('testapp') # Module configuration class Config(object): MODULE = 'module' FOLDER = 'module' KWARGS = 'module' ENV = 'module' # Instance path configuration with open(join(tmppath, 'testapp.cfg'), 'w') as f: f.write("FOLDER = 'folder'\n") f.write("KWARGS = 'folder'\n") f.write("ENV = 'folder'\n") # Keyword arguments configuration kwargs = dict(KWARGS='kwargs', ENV='kwargs') # Environment configuraiton os.environ['APREFIX_ENV'] = 'env' # Create conf loader conf_loader = create_config_loader(Config, env_prefix="APREFIX") app = Flask( 'testapp', instance_path=tmppath, instance_relative_config=True) conf_loader(app, **kwargs) # Test correct overwriting of values. assert app.config['MODULE'] == 'module' assert app.config['FOLDER'] == 'folder' assert app.config['KWARGS'] == 'kwargs' assert app.config['ENV'] == 'env' finally: shutil.rmtree(tmppath)
# -*- coding: utf-8 -*- """{{ cookiecutter.site_name }} application factories.""" import os import sys from invenio_base.app import create_app_factory from invenio_base.wsgi import create_wsgi_factory from invenio_config import create_config_loader from . import config env_prefix = 'APP' config_loader = create_config_loader(config=config, env_prefix=env_prefix) instance_path = os.getenv(env_prefix + '_INSTANCE_PATH') or \ os.path.join(sys.prefix, 'var', '{{ cookiecutter.package_name }}-instance') """Instance path for Invenio. Defaults to ``<env_prefix>_INSTANCE_PATH`` or if environment variable is not set ``<sys.prefix>/var/<app_name>-instance``. """ static_folder = os.getenv(env_prefix + '_STATIC_FOLDER') or \ os.path.join(instance_path, 'static') """Static folder path. Defaults to ``<env_prefix>_STATIC_FOLDER`` or if environment variable is not set ``<sys.prefix>/var/<app_name>-instance/static``. """
import os import sys import pkg_resources from invenio_base.app import create_app_factory from invenio_base.wsgi import create_wsgi_factory, wsgi_proxyfix from invenio_cache import BytecodeCache from invenio_config import create_config_loader from .helpers import TrustedHostsMixin env_prefix = 'INVENIO' invenio_config_loader = create_config_loader( config=None, env_prefix=env_prefix ) def instance_path(): """Instance path for Invenio. Defaults to ``<env_prefix>_INSTANCE_PATH`` or if environment variable is not set ``<sys.prefix>/var/instance``. """ return os.getenv(env_prefix + '_INSTANCE_PATH') or \ os.path.join(sys.prefix, 'var', 'instance') def static_folder(): """Static folder path.
# as an Intergovernmental Organization or submit itself to any jurisdiction. """HEPData application factories.""" import os import sys from invenio_base.app import create_app_factory from invenio_base.wsgi import create_wsgi_factory from invenio_config import create_config_loader from . import config env_prefix = 'APP' conf_loader = create_config_loader(config=config, env_prefix=env_prefix) instance_path = os.getenv(env_prefix + '_INSTANCE_PATH') or \ os.path.join(sys.prefix, 'var', 'hepdata-instance') static_folder = os.getenv(env_prefix + '_STATIC_FOLDER') or \ os.path.join(instance_path, 'static') create_api = create_app_factory( 'hepdata', config_loader=conf_loader, extension_entry_points=['invenio_base.api_apps'], blueprint_entry_points=['invenio_base.api_blueprints'], instance_path=instance_path, )