--- ECHO_content/VLPExtension.py 2005/09/12 16:42:10 1.47 +++ ECHO_content/VLPExtension.py 2005/09/13 16:10:44 1.48 @@ -17,6 +17,8 @@ import urllib import xmlrpclib import vlp_xmlhelpers import sys +import os +from stat import * from types import * from Globals import package_home @@ -419,7 +421,7 @@ class VLP_collection(ECHO_collection): self.REQUEST.RESPONSE.write("

%s

\n"%found.reference) except: error=sys.exc_info()[0:2] - RESPONSE.write("(ERROR: %s %s)\n"%error) + RESPONSE.write("(ERROR (%s): %s %s)\n"%(found.reference,error[0],error[1])) errorsTXT+="

No subcollection of %s "+"(ERROR: %s %s)

"%error return errorsTXT @@ -459,11 +461,17 @@ class VLP_collection(ECHO_collection): genObj.createIndexFile() except: error=sys.exc_info()[0:2] - RESPONSE.write("

(ERROR: %s %s)

\n"%error) + RESPONSE.write("

(ERROR (%s): %s %s)

\n"%(fileName,error[0],error[1])) errorsTXT+="

No indexfile of %s "+"(ERROR: %s %s)

"%error + + if genObj.meta_type=="VLP_subcollection": + genObj.pageSizeSum=getattr(genObj,fileName).getPageSizeSum() + else: + genObj.pageSizeSum=genObj.getPageSizeSum() + except: error=sys.exc_info()[0:2] - RESPONSE.write("

(ERROR: %s %s)

\n"%error) + RESPONSE.write("

(ERROR (%s): %s %s)

\n"%(fileName,error[0],error[1])) errorsTXT+="

File not created:%s "+"(ERROR: %s %s)

"%error errorsTXT+=self.generateSubCollections() @@ -673,11 +681,50 @@ class VLP_resource(ECHO_resource,Cacheab return page.getAttribute('nr') return 0 + + def getPageSizeSum(self): + """generate average page size""" + + #size of hi resolution + files=[] + try: + pathHi=os.path.join(self.vlp_basis,self.resourceID,'pagesHi') + files=os.listdir(pathHi) + hi=0 + for f in files: + hi+=os.stat(os.path.join(pathHi,f))[ST_SIZE] + + except: + hi=0 + + #size of hi resolution + try: + pathHi=os.path.join(self.vlp_basis,self.resourceID,'pagesLo') + files=os.listdir(pathHi) + lo=0 + for f in files: + lo+=os.stat(os.path.join(pathHi,f))[ST_SIZE] + + except: + lo=0 + + + return (hi,lo,len(files)) + + + def getPageWeights(self): + """average Page sizes in kBytes""" + res=getattr(self,'pageSizeSum',(0,0,1)) + return (res[0]/(1024*res[2]),res[1]/(1024*res[2])) + + + def dir2index(self): """dir to index""" excludeNames=['Icon'] + def calculateName(str): name=os.path.splitext(str[1:])[0]