default_controller.py 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # coding=utf-8
  2. from tracim.views.controllers import Controller
  3. from pyramid.config import Configurator
  4. from pyramid.response import Response
  5. from pyramid.exceptions import NotFound
  6. class DefaultController(Controller):
  7. @classmethod
  8. def notfound_view(cls, request):
  9. request.response.status = 404
  10. return {}
  11. @classmethod
  12. def test_config(cls, request):
  13. try:
  14. app_config = request.registry.settings['CFG']
  15. project = app_config.WEBSITE_TITLE
  16. except Exception as e:
  17. return Response(e, content_type='text/plain', status=500)
  18. return {'project': project}
  19. def bind(self, configurator: Configurator):
  20. configurator.add_static_view('static', 'static', cache_max_age=3600)
  21. configurator.add_view(
  22. self.notfound_view,
  23. renderer='tracim:templates/404.jinja2',
  24. context=NotFound,
  25. )
  26. configurator.add_route('test_config', '/')
  27. configurator.add_view(
  28. self.test_config,
  29. route_name='test_config',
  30. renderer='tracim:templates/mytemplate.jinja2',
  31. )