New port numbers
[electrum-nvc.git] / lib / plugins.py
index 0e7e520..e1ed3c3 100644 (file)
@@ -14,17 +14,17 @@ def init_plugins(self):
         fp, pathname, description = imp.find_module('plugins')
         plugin_names = [name for a, name, b in pkgutil.iter_modules([pathname])]
         plugin_names = filter( lambda name: os.path.exists(os.path.join(pathname,name+'.py')), plugin_names)
-        imp.load_module('electrum_plugins', fp, pathname, description)
-        plugin_modules = map(lambda name: imp.load_source('electrum_plugins.'+name, os.path.join(pathname,name+'.py')), plugin_names)
+        imp.load_module('electrum_nvc_plugins', fp, pathname, description)
+        plugin_modules = map(lambda name: imp.load_source('electrum_nvc_plugins.'+name, os.path.join(pathname,name+'.py')), plugin_names)
     else:
-        import electrum_plugins
-        plugin_names = [name for a, name, b in pkgutil.iter_modules(electrum_plugins.__path__)]
-        plugin_modules = [ __import__('electrum_plugins.'+name, fromlist=['electrum_plugins']) for name in plugin_names]
+        import electrum_nvc_plugins
+        plugin_names = [name for a, name, b in pkgutil.iter_modules(electrum_nvc_plugins.__path__)]
+        plugin_modules = [ __import__('electrum_nvc_plugins.'+name, fromlist=['electrum_nvc_plugins']) for name in plugin_names]
 
     for name, p in zip(plugin_names, plugin_modules):
         try:
             plugins.append( p.Plugin(self, name) )
-        except:
+        except Exception:
             print_msg(_("Error: cannot initialize plugin"),p)
             traceback.print_exc(file=sys.stdout)
 
@@ -34,6 +34,8 @@ def run_hook(name, *args):
     
     global plugins
 
+    results = []
+
     for p in plugins:
 
         if not p.is_enabled():
@@ -44,12 +46,17 @@ def run_hook(name, *args):
             continue
 
         try:
-            f(*args)
-        except:
+            r = f(*args)
+        except Exception:
             print_error("Plugin error")
             traceback.print_exc(file=sys.stdout)
-            
-    return
+
+        if r:
+            results.append(r)
+
+    if results:
+        assert len(results) == 1, results
+        return results[0]