123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
-
- import json
- import time
-
- from pyramid.config import Configurator
- from pyramid.authentication import BasicAuthAuthenticationPolicy
- from pyramid.authorization import ACLAuthorizationPolicy
- from hapic.ext.pyramid import PyramidContext
-
- from tracim.extensions import hapic
- from tracim.config import CFG
- from tracim.lib.utils.auth import check_credentials
- from tracim.lib.utils.auth import Root
- from tracim.lib.utils.auth import BASIC_AUTH_WEBUI_REALM
- from tracim.views.example_api.example_api_controller import ExampleApiController
- from tracim.views.default.default_controller import DefaultController
-
-
- def main(global_config, **settings):
- """ This function returns a Pyramid WSGI application.
- """
-
- app_config = CFG(settings)
- app_config.configure_filedepot()
- settings['CFG'] = app_config
- configurator = Configurator(settings=settings, autocommit=True)
-
- authn_policy = BasicAuthAuthenticationPolicy(
- check_credentials,
- realm=BASIC_AUTH_WEBUI_REALM,
- )
- configurator.set_authorization_policy(ACLAuthorizationPolicy())
- configurator.set_authentication_policy(authn_policy)
- configurator.set_root_factory(lambda request: Root())
-
- configurator.include('pyramid_jinja2')
-
- configurator.include('.models')
-
- hapic.set_context(PyramidContext(configurator))
-
- default_controllers = DefaultController()
- default_controllers.bind(configurator)
- example_api_controllers = ExampleApiController()
- example_api_controllers.bind(configurator)
-
-
-
-
-
-
-
-
-
-
-
-
-
- return configurator.make_wsgi_app()
|