Refactor plugin configuration
[cascardo/ipsilon.git] / ipsilon / providers / openid / extensions / common.py
index b75d394..804f695 100755 (executable)
@@ -49,13 +49,14 @@ FACILITY = 'openid_extensions'
 
 class LoadExtensions(Log):
 
 
 class LoadExtensions(Log):
 
-    def __init__(self, enabled):
+    def __init__(self):
         loader = PluginLoader(LoadExtensions, FACILITY, 'OpenidExtension')
         self.plugins = loader.get_plugin_data()
 
         available = self.plugins['available'].keys()
         self._debug('Available Extensions: %s' % str(available))
 
         loader = PluginLoader(LoadExtensions, FACILITY, 'OpenidExtension')
         self.plugins = loader.get_plugin_data()
 
         available = self.plugins['available'].keys()
         self._debug('Available Extensions: %s' % str(available))
 
+    def enable(self, enabled):
         for item in enabled:
             if item not in self.plugins['available']:
                 self.debug('<%s> not available' % item)
         for item in enabled:
             if item not in self.plugins['available']:
                 self.debug('<%s> not available' % item)
@@ -63,5 +64,8 @@ class LoadExtensions(Log):
             self.debug('Enable OpenId extension: %s' % item)
             self.plugins['available'][item].enable()
 
             self.debug('Enable OpenId extension: %s' % item)
             self.plugins['available'][item].enable()
 
-    def get_extensions(self):
-        return self.plugins['available']
+    def available(self):
+        available = self.plugins['available']
+        if available is None:
+            available = dict()
+        return available