Diff for /ECHO_content/VLPExtension.py between versions 1.68 and 1.71

version 1.68, 2008/07/18 20:32:31 version 1.71, 2008/08/05 16:47:15
Line 47  def makeXML(str): Line 47  def makeXML(str):
                               </page>"""%str                                </page>"""%str
                           
                                             
   def checkXMLfrag(str):
       """checks and returns str as XML fragment"""
       
       xmltempl = """<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
       <txt>%s</txt>"""
       try:
           dom=xml.dom.minidom.parseString(xmltempl%str)
           return str
       except:
           str=str.replace("& ","&amp; ")
   
       dom=xml.dom.minidom.parseString(xmltempl%str)
       return str
       
                        
                           
 def getText(nodelist):  def getText(nodelist):
   
Line 217  class VLP_essay(Folder): Line 232  class VLP_essay(Folder):
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
       def getPageList(self):
           """returns sorted list of (id,object) of page objects"""
   
           def sortFind(x,y):
               return cmp(x[0],y[0])
           
   #        pages=[]
   #        pagestmp=self.ZopeFind(self,obj_metatypes=['DTML Document','File'])
   #        for page in pagestmp:
   #            if not (page[1].getId()[0]=="."):
   #                pages.append(page)
   
           pages = self.objectItems(['DTML Document','File'])                        
           pages.sort(sortFind)
           return pages
           
           
       def getPageXMLfrag(self, pageNum=None, pageId=None, pageObj=None):
           """returns XML fragment of page with id"""
           xml = None
           
           if pageNum is not None:
               pl = self.getPageList()
               pageObj = pl[int(pageNum)-1][1]
               
           if pageId is not None:
               pageObj = getattr(self, pageId, None)
               
           if pageObj is not None:
               txt = ""
               data = pageObj.data
               while data is not None:
                   txt += data
                   if isinstance(data, str):
                       data = None
                   else:
                       data = data.next
           
               xml = checkXMLfrag(txt)
   
           return xml
   
   
     def getPage(self,pagenum):      def getPage(self,pagenum):
         """gibt essay page mit num aus"""          """gibt essay page mit num aus"""
Line 232  class VLP_essay(Folder): Line 289  class VLP_essay(Folder):
         #print str(pages[int(pagenum)][1]())          #print str(pages[int(pagenum)][1]())
                   
         if pages[int(pagenum)-1][1].meta_type=='File':          if pages[int(pagenum)-1][1].meta_type=='File':
                   
                 #return makeXML(str(pages[int(pagenum)-1][1]))                  #return makeXML(str(pages[int(pagenum)-1][1]))
                 #txt=pages[int(pagenum)-1][1].data.decode('utf-8')                  #txt=pages[int(pagenum)-1][1].data.decode('utf-8')
                 txt=pages[int(pagenum)-1][1].data                  txt=pages[int(pagenum)-1][1].data
                 #print txt.encode('utf-8')                  #print txt.encode('utf-8')
                   
                 return self.xml2html(makeXML(txt),quote="no")                  return self.xml2html(makeXML(txt),quote="no")
         else:          else:
                   
                   
   
                 return self.xml2html(makeXML(pages[int(pagenum)-1][1]()),quote="no")                  return self.xml2html(makeXML(pages[int(pagenum)-1][1]()),quote="no")
                   
     def nextPage(self,pagenum,url):      def nextPage(self,pagenum,url):
Line 628  class VLP_resource(ECHO_resource,Cacheab Line 680  class VLP_resource(ECHO_resource,Cacheab
                           
             if os.path.isdir(os.path.join(self.vlp_basis,self.resourceID,'pageimg')):              if os.path.isdir(os.path.join(self.vlp_basis,self.resourceID,'pageimg')):
                     return 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')):              elif os.path.isdir(os.path.join(self.vlp_basis,self.resourceID,'pages')):
                     return os.path.join(self.vlp_basis,self.resourceID,'pagesHi')                      return os.path.join(self.vlp_basis,self.resourceID,'pages')
             else:              else:
                     return "<error>no images </error>"                      return "<error>no images </error>"
           
Line 701  class VLP_resource(ECHO_resource,Cacheab Line 753  class VLP_resource(ECHO_resource,Cacheab
     def show(self):      def show(self):
         """show the rendered file"""          """show the rendered file"""
   
           
         if self.REQUEST.get('p',None):          if self.REQUEST.get('p',None):
             #self.REQUEST.set('pn',self.file2page(self.REQUEST.get('p',None)))              #self.REQUEST.set('pn',self.file2page(self.REQUEST.get('p',None)))
             params = "pn=%s"%self.file2page(self.REQUEST.get('p',None))              params = "pn=%s"%self.file2page(self.REQUEST.get('p',None))
Line 767  class VLP_resource(ECHO_resource,Cacheab Line 818  class VLP_resource(ECHO_resource,Cacheab
             #size of hi resolution              #size of hi resolution
             files=[]              files=[]
             try:              try:
                     pathHi=os.path.join(self.vlp_basis,self.resourceID,'pagesHi')                      pathHi=os.path.join(self.vlp_basis,self.resourceID,'pages')
                     files=os.listdir(pathHi)                      files=os.listdir(pathHi)
                     hi=0                      hi=0
                     for f in files:                      for f in files:
Line 814  class VLP_resource(ECHO_resource,Cacheab Line 865  class VLP_resource(ECHO_resource,Cacheab
             ret=os.listdir(os.path.join(self.vlp_basis,self.resourceID,'pageimg'))              ret=os.listdir(os.path.join(self.vlp_basis,self.resourceID,'pageimg'))
             self.imagePath='pageimg'              self.imagePath='pageimg'
         except:          except:
             ret=os.listdir(os.path.join(self.vlp_basis,self.resourceID,'pagesHi'))              ret=os.listdir(os.path.join(self.vlp_basis,self.resourceID,'pages'))
             self.imagePath='pagesHi'              self.imagePath='pages'
         temp=[]          temp=[]
         ret.sort()          ret.sort()
         for x in ret:          for x in ret:
Line 926  class VLP_resource(ECHO_resource,Cacheab Line 977  class VLP_resource(ECHO_resource,Cacheab
            pageinfo=self.readIndexFile()[pn-1]             pageinfo=self.readIndexFile()[pn-1]
            return pageinfo[2]             return pageinfo[2]
         
   
     def createIndexFile(self,forceUpdate=False,RESPONSE=None):      def createIndexFile(self,forceUpdate=False,RESPONSE=None):
   
         """create index file"""          """create index file"""
         logging.debug("createindexfile of %s"%self.id)          logging.debug("createindexfile of %s"%self.id)
   

Removed from v.1.68  
changed lines
  Added in v.1.71


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