summaryrefslogtreecommitdiff
path: root/portato/plugin.py
diff options
context:
space:
mode:
authorNecoro <>2008-01-14 16:45:06 +0000
committerNecoro <>2008-01-14 16:45:06 +0000
commitf9a4a36b341b1d866269f568e86cbf63b90b5f63 (patch)
tree4d532b9a6cbf77a72cd99d841cd37ba5f8228991 /portato/plugin.py
parent31b1482b90f4d9c03c549538756978fe6f2da6a3 (diff)
downloadportato-f9a4a36b341b1d866269f568e86cbf63b90b5f63.tar.gz
portato-f9a4a36b341b1d866269f568e86cbf63b90b5f63.tar.bz2
portato-f9a4a36b341b1d866269f568e86cbf63b90b5f63.zip
r609@Devoty: necoro | 2008-01-14 17:04:38 +0100
Allowed '-' and '_' in key names. Also use group names instead of their number. r610@Devoty: necoro | 2008-01-14 17:05:42 +0100 Disabled saving of the queues r611@Devoty: necoro | 2008-01-14 17:08:53 +0100 Added the possibility to permanently en-/disable plugins r612@Devoty: necoro | 2008-01-14 17:14:09 +0100 adjust changelog and translations r613@Devoty: necoro | 2008-01-14 17:40:53 +0100 Dropdown should be localized too
Diffstat (limited to 'portato/plugin.py')
-rw-r--r--portato/plugin.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/portato/plugin.py b/portato/plugin.py
index 09f2dea..b081ecd 100644
--- a/portato/plugin.py
+++ b/portato/plugin.py
@@ -155,6 +155,8 @@ class Hook:
class Plugin:
"""A complete plugin."""
+ (STAT_DISABLED, STAT_TEMP_ENABLED, STAT_ENABLED, STAT_TEMP_DISABLED) = range(4)
+
def __init__ (self, file, name, author):
"""Constructor.
@@ -173,6 +175,8 @@ class Plugin:
self.menus = []
self.options = Options()
+ self.status = self.STAT_ENABLED
+
def parse_hooks (self, hooks):
"""Gets an <hooks>-elements and parses it.
@@ -199,6 +203,8 @@ class Plugin:
if options:
for o in options:
self.options.parse(o.getElementsByTagName("option"))
+
+ self.status = self.STAT_DISABLED if self.options.get("disabled") else self.STAT_ENABLED
def set_import (self, imports):
"""This gets a list of imports and parses them - setting the import needed to call the plugin.
@@ -234,7 +240,7 @@ class Plugin:
return self.options.set(name, value)
def is_enabled (self):
- return not self.get_option("disabled")
+ return (self.status in (self.STAT_ENABLED, self.STAT_TEMP_ENABLED))
class PluginQueue:
"""Class managing and loading the plugins."""