default_controller.py 1.1KB

12345678910111213141516171819202122232425262728293031323334353637
  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. project = request.app_config().WEBSITE_TITLE
  15. except Exception as e:
  16. return Response(e, content_type='text/plain', status=500)
  17. return {'project': project}
  18. def bind(self, configurator: Configurator):
  19. configurator.add_static_view('static', 'static', cache_max_age=3600)
  20. configurator.add_view(
  21. self.notfound_view,
  22. renderer='tracim:templates/404.jinja2',
  23. context=NotFound,
  24. )
  25. configurator.add_route('test_config', '/')
  26. configurator.add_view(
  27. self.test_config,
  28. route_name='test_config',
  29. renderer='tracim:templates/mytemplate.jinja2',
  30. )