From e8af12efa928a1eca54216398b7ace09af169e8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Tue, 10 Jun 2008 13:40:23 +0200 Subject: Modified plugin.xsd so it allows also menu-only plugins --- plugin.xsd | 2 +- portato/plugin.py | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/plugin.xsd b/plugin.xsd index 06b22f6..38cb872 100644 --- a/plugin.xsd +++ b/plugin.xsd @@ -7,7 +7,7 @@ - + diff --git a/portato/plugin.py b/portato/plugin.py index bf9dc91..5926922 100644 --- a/portato/plugin.py +++ b/portato/plugin.py @@ -180,12 +180,13 @@ class Plugin: """Gets an -elements and parses it. @param hooks: the hooks node - @type hooks: Node""" + @type hooks: NodeList""" - for h in hooks.getElementsByTagName("hook"): - hook = Hook(self, str(h.getAttribute("type")), str(h.getAttribute("call"))) - hook.parse_connects(h.getElementsByTagName("connect")) - self.hooks.append(hook) + if hooks: + for h in hooks[0].getElementsByTagName("hook"): + hook = Hook(self, str(h.getAttribute("type")), str(h.getAttribute("call"))) + hook.parse_connects(h.getElementsByTagName("connect")) + self.hooks.append(hook) def parse_menus (self, menus): """Get a list of -elements and parses them. @@ -388,7 +389,7 @@ class PluginQueue: if frontendOK is None or frontendOK == True: plugin = Plugin(p, elem.getElementsByTagName("name")[0], elem.getElementsByTagName("author")[0]) - plugin.parse_hooks(elem.getElementsByTagName("hooks")[0]) + plugin.parse_hooks(elem.getElementsByTagName("hooks")) plugin.set_import(elem.getElementsByTagName("import")) plugin.parse_menus(elem.getElementsByTagName("menu")) plugin.parse_options(elem.getElementsByTagName("options")) -- cgit v1.2.3