Browse Source

Use only one CFG object

Guénaël Muller 7 years ago
parent
commit
b0b89a3f6d
3 changed files with 7 additions and 11 deletions
  1. 5 3
      tracim/__init__.py
  2. 0 7
      tracim/config.py
  3. 2 1
      tracim/views/default/default_controller.py

+ 5 - 3
tracim/__init__.py View File

6
 from hapic.ext.pyramid import PyramidContext
6
 from hapic.ext.pyramid import PyramidContext
7
 
7
 
8
 from tracim.extensions import hapic
8
 from tracim.extensions import hapic
9
-from tracim.config import RequestWithCFG
9
+from tracim.config import CFG
10
 from tracim.views.example_api.example_api_controller import ExampleApiController
10
 from tracim.views.example_api.example_api_controller import ExampleApiController
11
 from tracim.views.default.default_controller import DefaultController
11
 from tracim.views.default.default_controller import DefaultController
12
 
12
 
14
 def main(global_config, **settings):
14
 def main(global_config, **settings):
15
     """ This function returns a Pyramid WSGI application.
15
     """ This function returns a Pyramid WSGI application.
16
     """
16
     """
17
+    # set CFG object
18
+    app_config = CFG(settings)
19
+    app_config.configure_filedepot()
20
+    settings['CFG'] = app_config
17
     configurator = Configurator(settings=settings, autocommit=True)
21
     configurator = Configurator(settings=settings, autocommit=True)
18
     # Pyramids "plugin" include.
22
     # Pyramids "plugin" include.
19
     configurator.include('pyramid_jinja2')
23
     configurator.include('pyramid_jinja2')
20
     # Add SqlAlchemy DB
24
     # Add SqlAlchemy DB
21
     configurator.include('.models')
25
     configurator.include('.models')
22
-    # Override default request
23
-    configurator.set_request_factory(RequestWithCFG)
24
     # set Hapic
26
     # set Hapic
25
     hapic.set_context(PyramidContext(configurator))
27
     hapic.set_context(PyramidContext(configurator))
26
     # Add controllers
28
     # Add controllers

+ 0 - 7
tracim/config.py View File

3
 from paste.deploy.converters import asbool
3
 from paste.deploy.converters import asbool
4
 from tracim.lib.utils.logger import logger
4
 from tracim.lib.utils.logger import logger
5
 from depot.manager import DepotManager
5
 from depot.manager import DepotManager
6
-from pyramid.request import Request
7
 
6
 
8
-class RequestWithCFG(Request):
9
-
10
-    def app_config(self):
11
-        cfg = CFG(self.registry.settings)
12
-        #cfg.configure_filedepot()
13
-        return cfg
14
 
7
 
15
 class CFG(object):
8
 class CFG(object):
16
     """Object used for easy access to config file parameters."""
9
     """Object used for easy access to config file parameters."""

+ 2 - 1
tracim/views/default/default_controller.py View File

15
     @classmethod
15
     @classmethod
16
     def test_config(cls, request):
16
     def test_config(cls, request):
17
         try:
17
         try:
18
-            project = request.app_config().WEBSITE_TITLE
18
+            app_config = request.registry.settings['CFG']
19
+            project = app_config.WEBSITE_TITLE
19
         except Exception as e:
20
         except Exception as e:
20
             return Response(e, content_type='text/plain', status=500)
21
             return Response(e, content_type='text/plain', status=500)
21
         return {'project': project}
22
         return {'project': project}