Source code for magpie

# -*- coding: utf-8 -*-
import sys


[docs]def includeme(config): # import needs to be here, otherwise ImportError happens during setup.py install (modules not yet installed) from magpie.api.generic import internal_server_error, unauthorized_or_forbidden, not_found_or_method_not_allowed from magpie.constants import get_constant from magpie.definitions.pyramid_definitions import NewRequest, EXCVIEW from magpie.utils import get_logger mod_dir = get_constant("MAGPIE_MODULE_DIR", config) logger = get_logger(__name__) logger.info("Adding MAGPIE_MODULE_DIR='{}' to path.".format(mod_dir)) sys.path.insert(0, mod_dir) config.add_exception_view(internal_server_error) config.add_forbidden_view(unauthorized_or_forbidden) config.add_notfound_view(not_found_or_method_not_allowed) config.set_default_permission(get_constant("MAGPIE_ADMIN_PERMISSION", config)) tween_position = EXCVIEW if get_constant("MAGPIE_LOG_REQUEST", config): config.add_subscriber("magpie.utils.log_request", NewRequest) if get_constant("MAGPIE_LOG_EXCEPTION", config): config.add_tween("magpie.utils.log_exception_tween", under=tween_position) tween_position = "magpie.utils.log_exception_tween" config.add_tween("magpie.api.generic.validate_accept_header_tween", under=tween_position) config.include("cornice") config.include("cornice_swagger") config.include("pyramid_chameleon") config.include("pyramid_beaker") config.include("pyramid_mako") config.include("magpie.definitions") config.include("magpie.api") config.include("magpie.db") if get_constant("MAGPIE_UI_ENABLED", config): config.include("magpie.ui") else: logger.warning("Magpie UI not enabled.")