--- ECHO_content/VLPExtension.py 2004/11/03 15:04:46 1.32 +++ ECHO_content/VLPExtension.py 2004/11/29 20:39:25 1.36 @@ -1,7 +1,7 @@ """ This module contains extensions which where originally made for the VLP. """ - +from OFS.Cache import Cacheable from Products.ECHO_content.ECHO_collection import * from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate @@ -374,6 +374,7 @@ class VLP_collection(ECHO_collection): genObj=getattr(self,fileName) genObj.createIndexFile() + if RESPONSE is not None: @@ -429,7 +430,7 @@ def manage_addVLP_collection(self,id,tit -class VLP_resource(ECHO_resource): +class VLP_resource(ECHO_resource,Cacheable): """VLP spezifische Erweiterung""" meta_type="VLP_resource" @@ -439,14 +440,25 @@ class VLP_resource(ECHO_resource): referencetypes=[] - manage_options=ECHO_resource.manage_options+( + manage_options=ECHO_resource.manage_options+Cacheable.manage_options+( {'label':'Update Index','action':'createIndexFile'}, {'label':'Reset MetaLink','action':'resetMetaLink'}, {'label':'Generate Title','action':'generate_title'}, {'label':'Generate Library Template','action':'generateLibraryTemplateHTML'}, ) + + def getImagePath(self): + """Pfad zu den Images""" + if os.path.isdir(os.path.join(self.vlp_basis,self.resourceID,'pageimg')): + return os.path.join(self.vlp_basis,self.resourceID,'pageimg') + elif os.path.isdir(os.path.join(self.vlp_basis,self.resourceID,'pagesHi')): + return os.path.join(self.vlp_basis,self.resourceID,'pagesHi') + else: + return "no images " + + def transcription(self): """show the rendered transcriptiofile""" @@ -642,10 +654,18 @@ class VLP_resource(ECHO_resource): def readIndexFile(self,url=None): """reads the indexfile. presently url not None isn't implemented. In the future url can be defined.""" - pagelist=[] - if not url: + if not url: url=self.absolute_url()+"/index.xml" + if self.ZCacheable_isCachingEnabled(): + + result = self.ZCacheable_get(view_name=url) + if result is not None: + # Got a cached value. + return result + + pagelist=[] + fh=ECHO_helpers.urlopen(url) dom=xml.dom.minidom.parse(fh) @@ -656,7 +676,8 @@ class VLP_resource(ECHO_resource): fileName=page.getAttribute('file') pagelist.append((pageNum,text,fileName)) - return pagelist + self.ZCacheable_set(pagelist,view_name=url) + return pagelist def getFileName(self): """getNameOfCurrentFile"""