Exemplo n.º 1
0
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)
Exemplo n.º 5
0
# -*- 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``.
"""
Exemplo n.º 6
0
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.
Exemplo n.º 7
0
# 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,
)