diff documentViewer.py @ 489:55e3398e395e elementtree

more new templates. monkey-patch for App.ImageFile.
author casties
date Thu, 25 Aug 2011 17:05:22 +0200
parents ec3d848fe9e8
children 6f116b86a226
line wrap: on
line diff
--- a/documentViewer.py	Wed Aug 24 10:58:20 2011 +0200
+++ b/documentViewer.py	Thu Aug 25 17:05:22 2011 +0200
@@ -2,6 +2,7 @@
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
 from App.ImageFile import ImageFile
+from App.Common import rfc1123_date
 #from Products.ZSimpleFile.ZSimpleFile import ZSimpleFile
 from AccessControl import ClassSecurityInfo
 from AccessControl import getSecurityManager
@@ -9,7 +10,8 @@
 
 import xml.etree.ElementTree as ET
 
-import os.path
+import os
+import stat
 import sys
 import urllib
 import logging
@@ -104,6 +106,14 @@
     # split by /, shorten, and reassemble
     return '/'.join(path.split('/')[0:-cnt])
 
+def devImageFileIndexHtml(self, REQUEST, RESPONSE):
+    """index_html method for App.ImageFile that updates the file info for each request."""
+    stat_info = os.stat(self.path)
+    self.size = stat_info[stat.ST_SIZE]
+    self.lmt = float(stat_info[stat.ST_MTIME]) or time.time()
+    self.lmh = rfc1123_date(self.lmt)
+    # call original method
+    return ImageFile.index_html(self, REQUEST, RESPONSE)
 
 ##
 ## documentViewer class
@@ -136,8 +146,9 @@
     page_main_pureXml = PageTemplateFile('zpt/page_main_pureXml', globals())
     head_main = PageTemplateFile('zpt/head_main', globals())
     info_xml = PageTemplateFile('zpt/info_xml', globals())
-    # TODO: can this be nicer?
     docuviewer_css = ImageFile('css/docuviewer.css',globals())
+    # make ImageFile better for development
+    docuviewer_css.index_html = devImageFileIndexHtml
     
     
     thumbs_main_rss = PageTemplateFile('zpt/thumbs_main_rss', globals())