]>
git.ipfire.org Git - people/ms/westferry.git/blob - src/westferry/ui/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 ###############################################################################
27 class UIMethodsRegistration(type):
28 def __init__(ui_method
, name
, bases
, dict):
29 type.__init
__(ui_method
, name
, bases
, dict)
31 # The main class from which is inherited is not registered
33 if name
== "BaseUIMethod":
36 if ui_method
.handle
is None:
39 _ui_methods
[ui_method
.handle
] = ui_method()
46 class UIModulesRegistration(type):
47 def __init__(ui_module
, name
, bases
, dict):
48 type.__init
__(ui_module
, name
, bases
, dict)
50 # The main class from which is inherited is not registered
52 if name
== "BaseUIModule":
55 if name
.endswith("Module"):
58 _ui_modules
[name
] = ui_module
65 class BaseUIMethod(object, metaclass
=UIMethodsRegistration
):
68 def __call__(self
, *args
, **kwargs
):
69 raise NotImplementedError
72 class BaseUIModule(tornado
.web
.UIModule
, metaclass
=UIModulesRegistration
):