[KSS-checkins] r45130 - kukit/kss.pylons/trunk/kss/pylons

jvloothuis at codespeak.net jvloothuis at codespeak.net
Mon Jul 16 20:10:00 CEST 2007


Author: jvloothuis
Date: Mon Jul 16 20:10:00 2007
New Revision: 45130

Added:
   kukit/kss.pylons/trunk/kss/pylons/initialization.py
Modified:
   kukit/kss.pylons/trunk/kss/pylons/__init__.py
   kukit/kss.pylons/trunk/kss/pylons/middleware.py
Log:
Improved the plugin system. Plugins must now be loaded explicitly.


Modified: kukit/kss.pylons/trunk/kss/pylons/__init__.py
==============================================================================
--- kukit/kss.pylons/trunk/kss/pylons/__init__.py	(original)
+++ kukit/kss.pylons/trunk/kss/pylons/__init__.py	Mon Jul 16 20:10:00 2007
@@ -6,3 +6,15 @@
     __path__ = extend_path(__path__, __name__)
 
 from rendering import render_kss_response
+
+from initialization import initialize_javascript, initialize_command_set
+
+
+
+import os
+from kss.pylons.middleware import StaticJavascriptPlugin
+
+javascript_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),
+                               'kukit')
+
+javascript_app = StaticJavascriptPlugin(javascript_path)

Added: kukit/kss.pylons/trunk/kss/pylons/initialization.py
==============================================================================
--- (empty file)
+++ kukit/kss.pylons/trunk/kss/pylons/initialization.py	Mon Jul 16 20:10:00 2007
@@ -0,0 +1,12 @@
+from kss.pluginregistry import command_set_registry
+from pkg_resources import iter_entry_points
+
+def initialize_javascript(javascripts_app, *names):
+    for name in names:
+        for entry_point in iter_entry_points('kss.javascript', name):
+            javascripts_app.register(name, entry_point.load())
+
+def initialize_command_set(*names):
+    for name in names:
+        for entry_point in iter_entry_points('kss.commandset', name):
+            command_set_registry.register(name, entry_point.load())

Modified: kukit/kss.pylons/trunk/kss/pylons/middleware.py
==============================================================================
--- kukit/kss.pylons/trunk/kss/pylons/middleware.py	(original)
+++ kukit/kss.pylons/trunk/kss/pylons/middleware.py	Mon Jul 16 20:10:00 2007
@@ -1,4 +1,3 @@
-from pkg_resources import iter_entry_points
 import os
 from paste.urlparser import StaticURLParser
 from paste import httpexceptions
@@ -7,12 +6,10 @@
 class StaticKSSJavascripts(object):
 
     def __init__(self):
-        javascript_plugins = {}
-        for entrypoint in iter_entry_points('kss.javascript'):
-            plugin = entrypoint.load()
-            javascript_plugins[entrypoint.name] = plugin
-        self.javascript_plugins = javascript_plugins
+        self.javascript_plugins = {}
 
+    def register(self, name, app):
+        self.javascript_plugins[name] = app
 
     def __call__(self, environ, start_response):
         found = environ.get('PATH_INFO', '').startswith


More information about the Kukit-checkins mailing list