-# Copyright (C) 2014 Simo Sorce <simo@redhat.com>
-#
-# see file 'COPYING' for use and warranty information
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Copyright (C) 2014 Ipsilon project Contributors, for license see COPYING
from ipsilon.util.log import Log
from ipsilon.util.plugin import PluginInstaller, PluginLoader
-from ipsilon.util.plugin import PluginObject, PluginConfig
+from ipsilon.util.plugin import PluginObject
+from ipsilon.util.config import ConfigHelper
from ipsilon.util.page import Page
from ipsilon.util.page import admin_protect
from ipsilon.rest.common import RestPage
def __init__(self, message, code):
super(AuthenticationError, self).__init__(message)
self.code = code
- self._debug('%s [%s]' % (message, code))
+ self.debug('%s [%s]' % (message, code))
class InvalidRequest(ProviderException):
def __init__(self, message):
super(InvalidRequest, self).__init__(message)
- self._debug(message)
+ self.debug(message)
-class ProviderBase(PluginConfig, PluginObject):
+class ProviderBase(ConfigHelper, PluginObject):
def __init__(self, name, path, *pargs):
- PluginConfig.__init__(self)
+ ConfigHelper.__init__(self)
PluginObject.__init__(self, *pargs)
self.name = name
self._root = None
self._root = root
# init pages and admin interfaces
self.tree = self.get_tree(site)
- self._debug('IdP Provider registered: %s' % self.name)
+ self.debug('IdP Provider registered: %s' % self.name)
def on_enable(self):
self._root.add_subtree(self.name, self.tree)
def on_disable(self):
self._root.del_subtree(self.name)
+ def get_providers(self):
+ return []
+
class ProviderPageBase(Page):
else:
raise cherrypy.HTTPError(405)
- def _debug(self, fact):
+ def debug(self, fact):
superfact = '%s: %s' % (self.plugin_name, fact)
- super(ProviderPageBase, self)._debug(superfact)
+ super(ProviderPageBase, self).debug(superfact)
def _audit(self, fact):
cherrypy.log('%s: %s' % (self.plugin_name, fact))
self.ptype = 'provider'
self.name = None
- def unconfigure(self, opts):
+ def unconfigure(self, opts, changes):
return
def install_args(self, group):
def validate_args(self, args):
return
- def configure(self, opts):
+ def configure(self, opts, changes):
raise NotImplementedError
site[FACILITY] = plugins
available = plugins.available.keys()
- self._debug('Available providers: %s' % str(available))
+ self.debug('Available providers: %s' % str(available))
for item in plugins.available:
plugin = plugins.available[item]
plugin.register(root, site)
for item in plugins.enabled:
- self._debug('Provider plugin in enabled list: %s' % item)
+ self.debug('Provider plugin in enabled list: %s' % item)
if item not in plugins.available:
continue
plugins.available[item].enable()
else:
raise cherrypy.HTTPError(405)
- def _debug(self, fact):
+ def debug(self, fact):
superfact = '%s: %s' % (self.plugin_name, fact)
- super(RestProviderBase, self)._debug(superfact)
+ super(RestProviderBase, self).debug(superfact)
def _audit(self, fact):
cherrypy.log('%s: %s' % (self.plugin_name, fact))