Make it possible to use PluginLoader without store
[cascardo/ipsilon.git] / ipsilon / providers / openid / extensions / common.py
old mode 100755 (executable)
new mode 100644 (file)
index b75d394..247584c
@@ -1,6 +1,4 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2014  Ipsilon project Contributors, for licensee see COPYING
+# Copyright (C) 2014 Ipsilon project Contributors, for license see COPYING
 
 from __future__ import absolute_import
 
@@ -49,19 +47,21 @@ FACILITY = 'openid_extensions'
 
 class LoadExtensions(Log):
 
-    def __init__(self, enabled):
-        loader = PluginLoader(LoadExtensions, FACILITY, 'OpenidExtension')
-        self.plugins = loader.get_plugin_data()
+    def __init__(self):
+        self.plugins = PluginLoader(LoadExtensions,
+                                    FACILITY, 'OpenidExtension', False)
+        self.plugins.get_plugin_data()
 
-        available = self.plugins['available'].keys()
-        self._debug('Available Extensions: %s' % str(available))
+        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']:
+            if item not in self.plugins.available:
                 self.debug('<%s> not available' % item)
                 continue
             self.debug('Enable OpenId extension: %s' % item)
-            self.plugins['available'][item].enable()
+            self.plugins.available[item].enable()
 
-    def get_extensions(self):
-        return self.plugins['available']
+    def available(self):
+        return self.plugins.available