Use new Log class everywhere
[cascardo/ipsilon.git] / ipsilon / util / plugin.py
index fce058d..edfda16 100755 (executable)
@@ -22,6 +22,7 @@ import imp
 import cherrypy
 import inspect
 from ipsilon.util.data import Store
+from ipsilon.util.log import Log
 
 
 class Plugins(object):
@@ -36,7 +37,7 @@ class Plugins(object):
         try:
             if ext.lower() == '.py':
                 mod = imp.load_source(name, file_name)
-            #elif ext.lower() == '.pyc':
+            # elif ext.lower() == '.pyc':
             #    mod = imp.load_compiled(name, file_name)
             else:
                 return
@@ -102,7 +103,7 @@ class PluginInstaller(object):
         return p.get_plugins(self._pathname, 'Installer')
 
 
-class PluginObject(object):
+class PluginObject(Log):
 
     def __init__(self):
         self.name = None
@@ -144,9 +145,27 @@ class PluginObject(object):
             self._config = dict()
         self._config[option] = value
 
+    def get_plugin_config(self, facility):
+        return self._data.get_plugin_config(facility, self.name)
+
+    def save_plugin_config(self, facility):
+        self._data.save_plugin_config(facility, self.name, self._config)
+
     def get_data(self, idval=None, name=None, value=None):
         return self._data.get_data(self.name, idval=idval, name=name,
                                    value=value)
 
     def save_data(self, data):
         self._data.save_data(self.name, data)
+
+    def new_datum(self, datum):
+        self._data.new_datum(self.name, datum)
+
+    def del_datum(self, idval):
+        self._data.del_datum(self.name, idval)
+
+    def wipe_config_values(self, facility):
+        self._data.wipe_plugin_config(facility, self.name)
+
+    def wipe_data(self):
+        self._data.wipe_data(self.name)