[silva.fanstatic][Emiliano D'Alterio] Added event subscription t...
[email protected] Tue, 22 Oct 2013 15:23:46 +0200
| Newsgroups | gmane.comp.web.zope.silva.cvs |
|---|---|
| Message-ID | <[email protected]> |
author: Emiliano D'Alterio
date: Tue Oct 22 15:23:32 2013 +0200
revision: 39:142dcd1dbd79 in silva.fanstatic
branch:
details: https://hg.infrae.com/silva.fanstatic?cmd=changeset;node=142dcd1dbd79
modified: src/silva/fanstatic/support.py
added:
removed:
log: Added event subscription to handle resources injection, so
"Resources" content provider in templates is not required anymore.
diffstat:
src/silva/fanstatic/support.py | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diffs (41 lines):
diff -r 8f02edb840f5 -r 142dcd1dbd79 src/silva/fanstatic/support.py
--- a/src/silva/fanstatic/support.py Tue Oct 08 16:33:15 2013 +0200
+++ b/src/silva/fanstatic/support.py Tue Oct 22 15:23:32 2013 +0200
@@ -8,16 +8,20 @@
from zope.interface import Interface, implements
from zope.traversing.browser.interfaces import IAbsoluteURL
from zope.traversing.interfaces import ITraversable
+from zope.publisher.interfaces.browser import IBrowserView
import fanstatic
from silva.fanstatic.interfaces import ISubscribedResource
from silva.fanstatic.interfaces import IZopeResource
from silva.core.views.interfaces import IVirtualSite
+from infrae.wsgi.interfaces import IPublicationAfterRender
+
from ZPublisher.interfaces import IPubFailure, IPubSuccess
_marker = object()
+
class ZopeFanstaticResource(object):
# Hack to get ++resource++foo/bar/baz.jpg *paths* working in Zope
# Pagetemplates. Note that ++resource+foo/bar/baz.jpg *URLs* will
@@ -66,9 +70,14 @@
pass
def render(self):
+ return u''
+
+
[email protected](IPublicationAfterRender)
+def inject_resources(event):
+ if IBrowserView.providedBy(event.content):
grok.queryMultiSubscriptions(
- (self.request, self.context), ISubscribedResource)
- return u''
+ (event.request, event.content), ISubscribedResource)
@grok.subscribe(IPubSuccess)