diff options
Diffstat (limited to 'ipsilon')
-rw-r--r-- | ipsilon/admin/common.py | 2 | ||||
-rw-r--r-- | ipsilon/info/common.py | 7 | ||||
-rw-r--r-- | ipsilon/login/common.py | 7 | ||||
-rw-r--r-- | ipsilon/providers/common.py | 7 | ||||
-rw-r--r-- | ipsilon/providers/saml2/provider.py | 4 | ||||
-rw-r--r-- | ipsilon/util/config.py | 38 | ||||
-rw-r--r-- | ipsilon/util/plugin.py | 39 |
7 files changed, 53 insertions, 51 deletions
diff --git a/ipsilon/admin/common.py b/ipsilon/admin/common.py index ceccdc9..7484806 100644 --- a/ipsilon/admin/common.py +++ b/ipsilon/admin/common.py @@ -54,7 +54,7 @@ class AdminPluginConfig(AdminPage): self.back = parent.url def root_with_msg(self, message=None, message_type=None): - return self._template('admin/plugin_config.html', title=self.title, + return self._template('admin/option_config.html', title=self.title, menu=self.menu, action=self.url, back=self.back, message=message, message_type=message_type, name='admin_%s_%s_form' % (self.facility, diff --git a/ipsilon/info/common.py b/ipsilon/info/common.py index dd48ae9..a97d648 100644 --- a/ipsilon/info/common.py +++ b/ipsilon/info/common.py @@ -4,13 +4,14 @@ 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 -class InfoProviderBase(PluginConfig, PluginObject): +class InfoProviderBase(ConfigHelper, PluginObject): def __init__(self, *pargs): - PluginConfig.__init__(self) + ConfigHelper.__init__(self) PluginObject.__init__(self, *pargs) def get_user_attrs(self, user): diff --git a/ipsilon/login/common.py b/ipsilon/login/common.py index d616882..9496a4b 100644 --- a/ipsilon/login/common.py +++ b/ipsilon/login/common.py @@ -18,7 +18,8 @@ from ipsilon.util.page import Page from ipsilon.util.user import UserSession 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.info.common import Info from ipsilon.util.cookies import SecureCookie import cherrypy @@ -27,10 +28,10 @@ import cherrypy USERNAME_COOKIE = 'ipsilon_default_username' -class LoginManagerBase(PluginConfig, PluginObject): +class LoginManagerBase(ConfigHelper, PluginObject): def __init__(self, *args): - PluginConfig.__init__(self) + ConfigHelper.__init__(self) PluginObject.__init__(self, *args) self._root = None self._site = None diff --git a/ipsilon/providers/common.py b/ipsilon/providers/common.py index 74c00df..a0158d9 100644 --- a/ipsilon/providers/common.py +++ b/ipsilon/providers/common.py @@ -17,7 +17,8 @@ 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 @@ -49,10 +50,10 @@ class InvalidRequest(ProviderException): 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 diff --git a/ipsilon/providers/saml2/provider.py b/ipsilon/providers/saml2/provider.py index 1143c9f..d3cc144 100644 --- a/ipsilon/providers/saml2/provider.py +++ b/ipsilon/providers/saml2/provider.py @@ -17,7 +17,7 @@ from ipsilon.providers.common import ProviderException from ipsilon.util import config as pconfig -from ipsilon.util.plugin import PluginConfig +from ipsilon.util.config import ConfigHelper from ipsilon.tools.saml2metadata import SAML2_NAMEID_MAP from ipsilon.util.log import Log import lasso @@ -46,7 +46,7 @@ class NameIdNotAllowed(Exception): return repr(self.message) -class ServiceProviderConfig(PluginConfig): +class ServiceProviderConfig(ConfigHelper): def __init__(self): super(ServiceProviderConfig, self).__init__() diff --git a/ipsilon/util/config.py b/ipsilon/util/config.py index 947c697..523601d 100644 --- a/ipsilon/util/config.py +++ b/ipsilon/util/config.py @@ -322,3 +322,41 @@ class Condition(Pick): def import_value(self, value): self._assigned_value = value == 'True' + + +class ConfigHelper(Log): + + def __init__(self): + self._config = None + + def new_config(self, name, *config_args): + self._config = Config(name, *config_args) + + def get_config_obj(self): + if self._config is None: + raise AttributeError('Config not initialized') + return self._config + + def import_config(self, config): + if not self._config: + raise AttributeError('Config not initialized, cannot import') + + for key, value in config.iteritems(): + if key in self._config: + self._config[key].import_value(str(value)) + + def export_config(self): + config = dict() + for name, option in self._config.iteritems(): + config[name] = option.export_value() + return config + + def get_config_value(self, name): + if not self._config: + raise AttributeError('Config not initialized') + return self._config[name].get_value() + + def set_config_value(self, name, value): + if not self._config: + raise AttributeError('Config not initialized') + return self._config[name].set_value(value) diff --git a/ipsilon/util/plugin.py b/ipsilon/util/plugin.py index 1035ca8..be6dd2f 100644 --- a/ipsilon/util/plugin.py +++ b/ipsilon/util/plugin.py @@ -19,7 +19,6 @@ import os import imp import cherrypy import inspect -from ipsilon.util.config import Config from ipsilon.util.data import AdminStore from ipsilon.util.log import Log @@ -213,41 +212,3 @@ class PluginObject(Log): def wipe_data(self): self._data.wipe_data(self.name) - - -class PluginConfig(Log): - - def __init__(self): - self._config = None - - def new_config(self, name, *config_args): - self._config = Config(name, *config_args) - - def get_config_obj(self): - if self._config is None: - raise AttributeError('Config not initialized') - return self._config - - def import_config(self, config): - if not self._config: - raise AttributeError('Config not initialized, cannot import') - - for key, value in config.iteritems(): - if key in self._config: - self._config[key].import_value(str(value)) - - def export_config(self): - config = dict() - for name, option in self._config.iteritems(): - config[name] = option.export_value() - return config - - def get_config_value(self, name): - if not self._config: - raise AttributeError('Config not initialized') - return self._config[name].get_value() - - def set_config_value(self, name, value): - if not self._config: - raise AttributeError('Config not initialized') - return self._config[name].set_value(value) |