From 4e918edba6c3808b095eab1bad137a2a8cab970d Mon Sep 17 00:00:00 2001
From: RaNaN <Mast3rRaNaN@hotmail.de>
Date: Sat, 17 Dec 2011 21:53:57 +0100
Subject: updated plugin api and plugin manager

---
 module/HookManager.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'module/HookManager.py')

diff --git a/module/HookManager.py b/module/HookManager.py
index 16f692d76..8bfcadca6 100644
--- a/module/HookManager.py
+++ b/module/HookManager.py
@@ -119,7 +119,7 @@ class HookManager:
         active = []
         deactive = []
 
-        for pluginname in self.core.pluginManager.hookPlugins:
+        for pluginname in self.core.pluginManager.getPlugins("hooks"):
             try:
                 #hookClass = getattr(plugin, plugin.__name__)
 
-- 
cgit v1.2.3


From 6eae782f13953dd0ba2bbe1b582cf33fd4d7d90a Mon Sep 17 00:00:00 2001
From: RaNaN <Mast3rRaNaN@hotmail.de>
Date: Mon, 19 Dec 2011 23:10:49 +0100
Subject: configparser v2, warning CONFIG will be DELETED.

---
 module/HookManager.py | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

(limited to 'module/HookManager.py')

diff --git a/module/HookManager.py b/module/HookManager.py
index 8bfcadca6..e32508c48 100644
--- a/module/HookManager.py
+++ b/module/HookManager.py
@@ -50,8 +50,7 @@ class HookManager:
         allDownloadsProcessed                Every link was handled, pyload would idle afterwards.
         allDownloadsFinished                 Every download in queue is finished.
         unrarFinished         folder, fname  An Unrar job finished
-        configChanged                        The config was changed via the api.
-        pluginConfigChanged                  The plugin config changed, due to api or internal process.
+        configChanged         sec,opt,value  The config was changed.
         ===================== ============== ==================================
 
         | Notes:
@@ -74,14 +73,15 @@ class HookManager:
 
         self.events = {} # contains events
 
-        #registering callback for config event
-        self.config.pluginCB = MethodType(self.dispatchEvent, "pluginConfigChanged", basestring)
-
-        self.addEvent("pluginConfigChanged", self.manageHooks)
-
         self.lock = RLock()
         self.createIndex()
 
+        #registering callback for config event
+        self.config.changeCB = MethodType(self.dispatchEvent, "configChanged", basestring)
+
+        # manage hooks an config change
+        self.addEvent("configChanged", self.manageHooks)
+
     def try_catch(func):
         def new(*args):
             try:
@@ -123,7 +123,7 @@ class HookManager:
             try:
                 #hookClass = getattr(plugin, plugin.__name__)
 
-                if self.core.config.getPlugin(pluginname, "activated"):
+                if self.core.config.get(pluginname, "activated"):
                     pluginClass = self.core.pluginManager.loadClass("hooks", pluginname)
                     if not pluginClass: continue
                     
@@ -147,6 +147,11 @@ class HookManager:
         self.plugins = plugins
 
     def manageHooks(self, plugin, name, value):
+
+        # check if section was a plugin
+        if plugin not in self.core.pluginManager.getPlugins("hooks"):
+            return
+
         if name == "activated" and value:
             self.activateHook(plugin)
         elif name == "activated" and not value:
-- 
cgit v1.2.3