[Checkins] SVN: hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/ Set injector config. Add len to neededinclusions class. Set neededinclusions for every request.
Jan-Jaap Driessen
jdriessen at thehealthagency.com
Wed Nov 24 02:43:51 EST 2010
Log message for revision 118544:
Set injector config. Add len to neededinclusions class. Set neededinclusions for every request.
Changed:
U hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/core.py
U hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/wsgi.py
-=-
Modified: hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/core.py
===================================================================
--- hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/core.py 2010-11-24 00:47:41 UTC (rev 118543)
+++ hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/core.py 2010-11-24 07:43:50 UTC (rev 118544)
@@ -183,14 +183,20 @@
rollup=False,
bottom=False,
force_bottom=False,
+ devmode=False,
+ publisher_signature=''
):
self.base_url = base_url
+ self.devmode = devmode
+ self.publisher_signature = publisher_signature
self._inclusions = inclusions or []
self._mode = mode
self._rollup = rollup
self._bottom = bottom
- self._force_bottom = force_bottom
+ def __len__(self):
+ return len(self._inclusions)
+
def need(self, inclusion):
self._inclusions.append(inclusion)
@@ -214,7 +220,7 @@
def library_url(self, library):
return '%s%s/%s/' % (self.base_url, library.signature(), library.name)
-
+
def render(self):
"""Render a set of inclusions.
"""
Modified: hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/wsgi.py
===================================================================
--- hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/wsgi.py 2010-11-24 00:47:41 UTC (rev 118543)
+++ hurry.resource/branches/janjaapdriessen-resource-publisher/src/hurry/resource/wsgi.py 2010-11-24 07:43:50 UTC (rev 118544)
@@ -1,5 +1,9 @@
import webob
+
+from paste.util import asbool
+
import hurry.resource
+from hurry.resource import NeededInclusions
NEEDED = 'hurry.resource.needed'
@@ -10,15 +14,19 @@
class InjectMiddleWare(object):
- def __init__(self, application, signature):
+ def __init__(self, application, devmode=False,
+ publisher_signature='fanstatic'):
self.application = application
+ self.devmode = devmode
+ self.publisher_signature = publisher_signature
def __call__(self, environ, start_response):
request = webob.Request(environ)
- # XXX the needed inclusions object is created here and the
- # signature should be set on it as would the mode and dev_mode
- # etcetera.
+ needed = NeededInclusions(
+ devmode=self.devmode,
+ publisher_signature=self.publisher_signature)
+ request.environ[NEEDED] = needed
# Get the response from the wrapped application:
response = request.get_response(self.application)
@@ -30,11 +38,12 @@
# The wrapped application may have left information in the environment
# about needed inclusions.
- needed = response.environ.get(NEEDED)
- if needed is not None:
+ if len(needed):
response.body = needed.render_topbottom_into_html(response.body)
return response(environ, start_response)
def make_inject(app, global_config, **local_config):
- return InjectMiddleWare(
- app, hurry.resource.publisher_signature, **local_config)
+ devmode = local_config.pop('devmode')
+ if devmode is not None:
+ local_config['devmode'] = asbool(devmode)
+ return InjectMiddleWare(app, **local_config)
More information about the checkins
mailing list