Diff for /ECHO_content/VLPExtension.py between versions 1.44 and 1.49

version 1.44, 2005/03/10 15:46:59 version 1.49, 2005/10/11 20:10:34
Line 16  import xml.dom.minidom Line 16  import xml.dom.minidom
 import urllib  import urllib
 import xmlrpclib  import xmlrpclib
 import vlp_xmlhelpers  import vlp_xmlhelpers
   import sys
   import os
   from stat import *
 from types import *  from types import *
 from Globals import package_home  from Globals import package_home
   
Line 358  class VLP_subcollection(ECHO_collection) Line 361  class VLP_subcollection(ECHO_collection)
         for item in self.ZSQLSimpleSearch("select * from vl_literature where volumeid like '%s'"%self.id):          for item in self.ZSQLSimpleSearch("select * from vl_literature where volumeid like '%s'"%self.id):
             manage_addECHO_link(self,item.reference,item.titlerefdisplay,item.titlerefdisplay)              manage_addECHO_link(self,item.reference,item.titlerefdisplay,item.titlerefdisplay)
   
   
     def index_html(self):      def index_html(self):
         """erzeuge darstellung"""          """erzeuge darstellung"""
   
Line 389  class VLP_collection(ECHO_collection): Line 393  class VLP_collection(ECHO_collection):
   
   
   
     def generateSubCollections(self):      def generateSubCollections(self,errorsTXT=""):
         """erzeuge subcollectionen"""          """erzeuge subcollectionen"""
         founds=self.ZSQLSimpleSearch("select * from vl_literature where referencetype in ('(Book)','(Collection)','(Journal)')")          founds=self.ZSQLSimpleSearch("select * from vl_literature where referencetype in ('(Book)','(Collection)','(Journal)')")
                   
         self.REQUEST.RESPONSE.write("<html><body>\n")              self.REQUEST.RESPONSE.write("<h2>Create Subcollections</h2>\n")
         for found in founds:          for found in founds:
                       try:
             foundCol=self.ZopeFind(self,obj_ids=[found.reference])              foundCol=self.ZopeFind(self,obj_ids=[found.reference])
             if foundCol:              if foundCol:
                                   
Line 415  class VLP_collection(ECHO_collection): Line 419  class VLP_collection(ECHO_collection):
                 genObj.createIndexFile()                  genObj.createIndexFile()
   
             self.REQUEST.RESPONSE.write("<p>%s</p>\n"%found.reference)              self.REQUEST.RESPONSE.write("<p>%s</p>\n"%found.reference)
                       except:
                               error=sys.exc_info()[0:2]
                               RESPONSE.write("(ERROR (%s): %s %s)\n"%(found.reference,error[0],error[1]))
                               errorsTXT+="<p>No subcollection of %s  "+"(ERROR: %s %s)</p>"%error
   
               return errorsTXT
                   
     def VLP_path_configForm(self):      def VLP_path_configForm(self):
         """change pt"""          """change pt"""
Line 430  class VLP_collection(ECHO_collection): Line 439  class VLP_collection(ECHO_collection):
   
     def updateCollection(self,RESPONSE=None):      def updateCollection(self,RESPONSE=None):
         """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner"""          """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner"""
           errorsTXT="<h2>Errors</h2>"
           RESPONSE.write("<html><body>")
         files=os.listdir(self.vlp_basis)          files=os.listdir(self.vlp_basis)
   
           errorsTXT+="<h3>New Ressources</h3>"
         for fileName in files:          for fileName in files:
                           
             if fileName[0:3]=="lit":              if fileName[0:3]=="lit":
                                   
                 metalink=self.REQUEST['URL1']+"/"+fileName+"/index_meta"                  metalink=self.REQUEST['URL1']+"/"+fileName+"/index_meta"
                   try:
         if not hasattr(self,fileName):          if not hasattr(self,fileName):
             newObj=VLP_resource(fileName,'',metalink,fileName,fileName,fileName,'generated','book','','','','','','')              newObj=VLP_resource(fileName,'',metalink,fileName,fileName,fileName,'generated','book','','','','','','')
             self._setObject(fileName,newObj)              self._setObject(fileName,newObj)
                           
                 RESPONSE.write("got: %s\n"%fileName)                          RESPONSE.write("<p>got: %s\n</p>"%fileName)
                 genObj=getattr(self,fileName)                  genObj=getattr(self,fileName)
                           if hasattr(genObj,'createIndexFile'):
                                   try:
                 genObj.createIndexFile()                  genObj.createIndexFile()
                                   except:
                                           error=sys.exc_info()[0:2]
                                           RESPONSE.write("<p>(ERROR (%s): %s %s)</p>\n"%(fileName,error[0],error[1]))
                                           errorsTXT+="<p>No indexfile of %s  "+"(ERROR: %s %s)</p>"%error
   
     self.generateSubCollections()                          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("<p>(ERROR (%s): %s %s)</p>\n"%(fileName,error[0],error[1]))
                           errorsTXT+="<p>File not created:%s  "+"(ERROR: %s %s)</p>"%error
                                   
           errorsTXT+=self.generateSubCollections()
           errorsTXT+="/n"
           RESPONSE.write(errorsTXT)
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
Line 651  class VLP_resource(ECHO_resource,Cacheab Line 682  class VLP_resource(ECHO_resource,Cacheab
                           
         return 0          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):      def dir2index(self):
         """dir to index"""          """dir to index"""
   
     excludeNames=['Icon']      excludeNames=['Icon']
           
           
         def calculateName(str):          def calculateName(str):
         name=os.path.splitext(str[1:])[0]          name=os.path.splitext(str[1:])[0]
             ret="%s: %s"%(str[0],name)              ret="%s: %s"%(str[0],name)

Removed from v.1.44  
changed lines
  Added in v.1.49


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>