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