switch from ddportfolio to debianmemberportfolio
[debianmemberportfolio.git] / debianmemberportfolio / controllers / template.py
1 # -*- python -*-
2 # -*- coding: utf-8 -*-
3 #
4 # Debian Member Portfolio Service TemplateController
5 #
6 # Copyright © 2009-2014 Jan Dittberner <jan@dittberner.info>
7 #
8 # This file is part of the Debian Member Portfolio Service.
9 #
10 # Debian Member Portfolio Service is free software: you can redistribute it
11 # and/or modify it under the terms of the GNU Affero General Public License as
12 # published by the Free Software Foundation, either version 3 of the License,
13 # or (at your option) any later version.
14 #
15 # Debian Member Portfolio Service is distributed in the hope that it will be
16 # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero
18 # General Public License for more details.
19 #
20 # You should have received a copy of the GNU Affero General Public License
21 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
22 #
23 """
24 This file contains the TemplateController used to render templates.
25 """
26
27 from debianmemberportfolio.lib.base import BaseController
28 from pylons.controllers.util import abort
29
30
31 class TemplateController(BaseController):
32
33     def view(self, url):
34         """By default, the final controller tried to fulfill the request
35         when no other routes match. It may be used to display a template
36         when all else fails, e.g.::
37
38             def view(self, url):
39                 return render('/%s' % url)
40
41         Or if you're using Mako and want to explicitly send a 404 (Not
42         Found) response code when the requested template doesn't exist::
43
44             import mako.exceptions
45
46             def view(self, url):
47                 try:
48                     return render('/%s' % url)
49                 except mako.exceptions.TopLevelLookupException:
50                     abort(404)
51
52         By default this controller aborts the request with a 404 (Not
53         Found)
54         """
55         abort(404)