Source code for chrysalio

"""The :func:`.main` function is called when the ``pserve`` command is invoked
against this application.
"""
from pyramid.config import Configurator

from .initialize import Initialize
from .lib.i18n import locale_negotiator
from .includes import load_includes


# =============================================================================
[docs]def main(global_config, **settings): """This function returns a Pyramid WSGI application. :param dict global_config: Dictionary describing the INI file with keys ``__file__`` and ``here``. :param dict settings: Application settings of [app:main] section of INI file. :rtype: pyramid.router.Router :return: WSGI application. """ configurator = Configurator( settings=settings, locale_negotiator=locale_negotiator, default_permission='authenticated') # Chrysalio configuration configurator.include('pyramid_chameleon') configurator.include('.relaxng') configurator.include('.models') configurator.include('.routes') configurator.include('.security') configurator.include('.subscribers') configurator.scan('.views') Initialize(configurator).complete( global_config, __package__, 'ciopopulate') configurator.commit() # Includes loading load_includes(configurator) return configurator.make_wsgi_app()