[KSS-checkins] r48556 - kukit/kss.base/trunk/kss/base
jvloothuis at codespeak.net
jvloothuis at codespeak.net
Sun Nov 11 13:33:37 CET 2007
Author: jvloothuis
Date: Sun Nov 11 13:33:35 2007
New Revision: 48556
Modified:
kukit/kss.base/trunk/kss/base/plugin.py
kukit/kss.base/trunk/kss/base/plugin.txt
Log:
Made the order of available_plugins depend on the plugin priority. This is usefull when depending on the order for Javascript concatination etc.
Modified: kukit/kss.base/trunk/kss/base/plugin.py
==============================================================================
--- kukit/kss.base/trunk/kss/base/plugin.py (original)
+++ kukit/kss.base/trunk/kss/base/plugin.py Sun Nov 11 13:33:35 2007
@@ -48,10 +48,15 @@
return os.path.join(module_path(mod), *subpath.split('/'))
def available_plugins():
+ plugins = []
+
for entry_point in iter_entry_points('kss.plugin'):
plugin_factory = entry_point.load()
plugin = plugin_factory()
- yield entry_point.name, plugin
+ plugins.append((entry_point.name, plugin))
+
+ return sorted(plugins,
+ key=lambda item: item[1].priority)
def load_plugins(*names):
def load(name):
Modified: kukit/kss.base/trunk/kss/base/plugin.txt
==============================================================================
--- kukit/kss.base/trunk/kss/base/plugin.txt (original)
+++ kukit/kss.base/trunk/kss/base/plugin.txt Sun Nov 11 13:33:35 2007
@@ -132,3 +132,10 @@
>>> list(available_plugins())
[('kss-core', <kss.base.config.KSSCore ...), ('testing', <ExamplePlugin ...)]
+
+The sequence of this is based on the plugin priority. If we change the
+priority of the example plugin it will be the first one.
+
+ >>> ExamplePlugin.priority = -99999
+ >>> list(available_plugins())
+ [('testing', <ExamplePlugin ...>), ('kss-core', <kss.base.config.KSSCore ...>)]
More information about the Kukit-checkins
mailing list