[Checkins] SVN: z3c.resourcecollector/trunk/ - restructured rendering of the resource viewlets

Juergen Kartnaller juergen at kartnaller.at
Tue Feb 26 08:47:32 EST 2008


Log message for revision 84267:
   - restructured rendering of the resource viewlets
   - added "media" attribute for CSS recources
  
  

Changed:
  U   z3c.resourcecollector/trunk/CHANGES.txt
  U   z3c.resourcecollector/trunk/src/z3c/resourcecollector/browser.py

-=-
Modified: z3c.resourcecollector/trunk/CHANGES.txt
===================================================================
--- z3c.resourcecollector/trunk/CHANGES.txt	2008-02-26 12:51:23 UTC (rev 84266)
+++ z3c.resourcecollector/trunk/CHANGES.txt	2008-02-26 13:47:31 UTC (rev 84267)
@@ -5,6 +5,12 @@
 TODO: add tests for the viewlets !!!!
       Fix the workaround in getUrl of the utility.
 
+2008/02/01 1.0.3a1
+------------------
+
+ - restructured rendering of the resource viewlets
+ - added "media" attribute for CSS recources
+
 2008/02/01 1.0.2
 ----------------
 

Modified: z3c.resourcecollector/trunk/src/z3c/resourcecollector/browser.py
===================================================================
--- z3c.resourcecollector/trunk/src/z3c/resourcecollector/browser.py	2008-02-26 12:51:23 UTC (rev 84266)
+++ z3c.resourcecollector/trunk/src/z3c/resourcecollector/browser.py	2008-02-26 13:47:31 UTC (rev 84267)
@@ -11,12 +11,15 @@
 # FOR A PARTICULAR PURPOSE.
 #
 ##############################################################################
+
 import time
 
-from zope.app.publisher.browser.fileresource import FileResource
+import zope.component
+
 from zope.viewlet import viewlet
 
-import zope.component
+from zope.app.publisher.browser.fileresource import FileResource
+from zope.app.form.browser.widget import renderElement
 
 from interfaces import ICollectorUtility
 
@@ -48,6 +51,9 @@
     def collector(self):
         return self.__name__
 
+    def renderElement(self, url):
+        return self.template% {'url':url}
+
     def render(self):
         originalHeader = self.request.response.getHeader('Content-Type')
         if originalHeader is None:
@@ -55,8 +61,8 @@
         rs = zope.component.getUtility(ICollectorUtility, self.collector)
         versionedresource = rs.getUrl(self.context,self.request)
         view=zope.component.getAdapter(self.request, name=self.collector)
-        url = view()
-        script = self.template% {'url':url, 'hash':versionedresource}
+        url = '%s?hash=%s'% (view(), versionedresource)
+        script = self.renderElement(url)
         self.request.response.setHeader('Content-Type', originalHeader)
         return script
 
@@ -64,14 +70,23 @@
 class JSCollectorViewlet(CollectorViewlet):
     """Render a link to include Javascript resources"""
 
-    template = """<script src="%(url)s?hash=%(hash)s"
-                    type="text/javascript">
-                  </script>"""
+    def renderElement(self, url):
+        return renderElement('script',
+                             type='text/javascript',
+                             src=url,
+                             )
 
 
 class CSSCollectorViewlet(CollectorViewlet):
     """Render a link to include CSS resources"""
 
-    template = """<link rel="stylesheet" type="text/css"
-                        href="%(url)s?hash=%(hash)s" />"""
+    media = 'screen'
 
+    def renderElement(self, url):
+        return renderElement('link',
+                             rel='stylesheet',
+                             type='text/css',
+                             href=url,
+                             media=self.media,
+                             )
+



More information about the Checkins mailing list