cubicweb/pyramid/defaults.py
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Thu, 19 Jan 2017 15:27:39 +0100
changeset 11899 bf6106b91633
parent 11631 faf279e33298
child 11967 83739be20fab
permissions -rw-r--r--
[schema] load schema from modules names instead of directories Introspect cubicweb, cubes and apphome using pkgutil to generate the full list of modules names for loading the schema. Keep historical behavior and check if source .py file exists if a module is found using python bytecode file (.pyc and .pyo) Loading schema from apphome require apphome to be present in sys.path and that "schema" module resolve to a file located in apphome. Update migraction tests to explicitely update sys.path when loading schema from different apps, use a contextmanager for this so it's more readable. Require updated logilab-common and yams

""" Defaults for a classical CubicWeb instance. """


def includeme(config):
    """ Enable the defaults that make the application behave like a classical
    CubicWeb instance.

    The following modules get included:

    -   :func:`cubicweb.pyramid.session <cubicweb.pyramid.session.includeme>`
    -   :func:`cubicweb.pyramid.auth <cubicweb.pyramid.auth.includeme>`
    -   :func:`cubicweb.pyramid.login <cubicweb.pyramid.login.includeme>`

    It is automatically included by the configuration system, unless the
    following entry is added to the :ref:`pyramid_settings`:

    .. code-block:: ini

        cubicweb.defaults = no

    """
    config.include('cubicweb.pyramid.session')
    config.include('cubicweb.pyramid.auth')
    config.include('cubicweb.pyramid.login')