comparison documentViewer.py @ 490:6f116b86a226 elementtree

more new template stuff. moved ImageFile index method to SrvTxtUtils
author casties
date Mon, 29 Aug 2011 16:39:50 +0200
parents 55e3398e395e
children fe319aa0ba30
comparison
equal deleted inserted replaced
489:55e3398e395e 490:6f116b86a226
1 from OFS.Folder import Folder 1 from OFS.Folder import Folder
2 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate 2 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
3 from Products.PageTemplates.PageTemplateFile import PageTemplateFile 3 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
4 from App.ImageFile import ImageFile 4 from App.ImageFile import ImageFile
5 from App.Common import rfc1123_date
6 #from Products.ZSimpleFile.ZSimpleFile import ZSimpleFile
7 from AccessControl import ClassSecurityInfo 5 from AccessControl import ClassSecurityInfo
8 from AccessControl import getSecurityManager 6 from AccessControl import getSecurityManager
9 from Globals import package_home 7 from Globals import package_home
10 8
11 import xml.etree.ElementTree as ET 9 import xml.etree.ElementTree as ET
12 10
13 import os 11 import os
14 import stat
15 import sys 12 import sys
16 import urllib 13 import urllib
17 import logging 14 import logging
18 import math 15 import math
19 import urlparse 16 import urlparse
20 import re 17 import re
21 import string 18 import string
22 19
23 from SrvTxtUtils import getInt, getText, getHttpData 20 from SrvTxtUtils import getInt, getText, getHttpData, refreshingImageFileIndexHtml
24
25 def logger(txt,method,txt2):
26 """logging"""
27 logging.info(txt+ txt2)
28
29 21
30 def serializeNode(node, encoding="utf-8"): 22 def serializeNode(node, encoding="utf-8"):
31 """returns a string containing node as XML""" 23 """returns a string containing node as XML"""
32 s = ET.tostring(node) 24 s = ET.tostring(node)
33 25
104 # make sure path doesn't end with / 96 # make sure path doesn't end with /
105 path = path.rstrip('/') 97 path = path.rstrip('/')
106 # split by /, shorten, and reassemble 98 # split by /, shorten, and reassemble
107 return '/'.join(path.split('/')[0:-cnt]) 99 return '/'.join(path.split('/')[0:-cnt])
108 100
109 def devImageFileIndexHtml(self, REQUEST, RESPONSE):
110 """index_html method for App.ImageFile that updates the file info for each request."""
111 stat_info = os.stat(self.path)
112 self.size = stat_info[stat.ST_SIZE]
113 self.lmt = float(stat_info[stat.ST_MTIME]) or time.time()
114 self.lmh = rfc1123_date(self.lmt)
115 # call original method
116 return ImageFile.index_html(self, REQUEST, RESPONSE)
117
118 ## 101 ##
119 ## documentViewer class 102 ## documentViewer class
120 ## 103 ##
121 class documentViewer(Folder): 104 class documentViewer(Folder):
122 """document viewer""" 105 """document viewer"""
146 page_main_pureXml = PageTemplateFile('zpt/page_main_pureXml', globals()) 129 page_main_pureXml = PageTemplateFile('zpt/page_main_pureXml', globals())
147 head_main = PageTemplateFile('zpt/head_main', globals()) 130 head_main = PageTemplateFile('zpt/head_main', globals())
148 info_xml = PageTemplateFile('zpt/info_xml', globals()) 131 info_xml = PageTemplateFile('zpt/info_xml', globals())
149 docuviewer_css = ImageFile('css/docuviewer.css',globals()) 132 docuviewer_css = ImageFile('css/docuviewer.css',globals())
150 # make ImageFile better for development 133 # make ImageFile better for development
151 docuviewer_css.index_html = devImageFileIndexHtml 134 docuviewer_css.index_html = refreshingImageFileIndexHtml
152 135
153 136
154 thumbs_main_rss = PageTemplateFile('zpt/thumbs_main_rss', globals()) 137 thumbs_main_rss = PageTemplateFile('zpt/thumbs_main_rss', globals())
155 138
156 139