[kupfer] Add plugin to list Kupfer Plugins



commit 606cd7859ef5a840d8ac9132312861626ef92251
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date:   Wed Oct 28 03:04:19 2009 +0100

    Add plugin to list Kupfer Plugins

 kupfer/plugin/kupfer_plugins.py |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)
---
diff --git a/kupfer/plugin/kupfer_plugins.py b/kupfer/plugin/kupfer_plugins.py
new file mode 100644
index 0000000..84b8f03
--- /dev/null
+++ b/kupfer/plugin/kupfer_plugins.py
@@ -0,0 +1,39 @@
+from kupfer.objects import Action, Source, Leaf
+from kupfer import plugins
+
+# Since this is a core plugin we break some rules
+# This module is normally out of bounds for plugins
+from kupfer import settings
+
+__kupfer_name__ = _("Kupfer Plugins")
+__kupfer_sources__ = ("KupferPlugins", )
+__description__ = _("Access Kupfer's plugin list in Kupfer")
+__version__ = ""
+__author__ = "Ulrik Sverdrup <ulrik sverdrup gmail com>"
+
+class Plugin (Leaf):
+	def get_description(self):
+		return self.object["description"]
+	def get_icon_name(self):
+		return "package"
+
+class KupferPlugins (Source):
+	def __init__(self):
+		Source.__init__(self, _("Kupfer Plugins"))
+
+	def get_items(self):
+		setctl = settings.GetSettingsController()
+		for info in plugins.get_plugin_info():
+			plugin_id = info["name"]
+			if setctl.get_plugin_is_hidden(plugin_id):
+				continue
+			yield Plugin(info, info["localized_name"])
+
+	def should_sort_lexically(self):
+		return True
+
+	def provides(self):
+		yield Plugin
+	def get_icon_name(self):
+		return "search"
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]