]>
git.ipfire.org Git - people/ms/westferry.git/blob - src/westferry/handlers/base.py
2 ###############################################################################
4 # Westferry - The IPFire web user interface #
5 # Copyright (C) 2015 IPFire development team #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
20 ###############################################################################
26 class HandlerRegistration(type):
27 def __init__(handler
, name
, bases
, dict):
28 type.__init
__(handler
, name
, bases
, dict)
30 # The main class from which is inherited is not registered
32 if name
.endswith("BaseHandler"):
35 if handler
.url
is None:
36 raise RuntimeError(_("Handler %s is improperly configured") % handler
)
38 _handlers
.append(handler
)
45 class BaseHandler(tornado
.web
.RequestHandler
, metaclass
=HandlerRegistration
):
51 Shortcut to access the backend
53 return self
.application
.backend
55 def get_argument_int(self
, name
, *args
, **kwargs
):
56 val
= self
.get_argument(name
, *args
, **kwargs
)
64 raise tornado
.web
.HTTPError(400,
65 _("Invalid type for '%s', expected integer") % name
)