Diff for /ECHO_content/VLPExtension.py between versions 1.9 and 1.15

version 1.9, 2004/06/08 17:49:31 version 1.15, 2004/08/05 13:51:32
Line 1 Line 1
 from ECHO_collection import *  from Products.ECHO_content.ECHO_collection import *
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
 from Products.PageTemplates.PageTemplate import PageTemplate  from Products.PageTemplates.PageTemplate import PageTemplate
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate  from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
   
   try:
 from Products.zogiLib import zogiLib  from Products.zogiLib import zogiLib
   except:
       print "Zogilib not installed, VLP_resource will not work"
   
   import xml.dom.minidom
   import urllib
   
   def makeXML(str):
           try:
               dom=xml.dom.minidom.parseString(str)
               return str
           except:
               return """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><page>
                         %s
                     </page>"""%str
   
 def getText(nodelist):  def getText(nodelist):
   
Line 57  class VLP_essay(Folder): Line 72  class VLP_essay(Folder):
         self.title=title          self.title=title
         self.label=label          self.label=label
   
    
     def getPage(self,pagenum):      def getPage(self,pagenum):
         """gibt essay page mit num aus"""          """gibt essay page mit num aus"""
         def sortFind(x,y):          def sortFind(x,y):
Line 67  class VLP_essay(Folder): Line 83  class VLP_essay(Folder):
         pages.sort(sortFind)          pages.sort(sortFind)
         #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 self.xml2html(str(pages[int(pagenum)-1][1]))              return self.xml2html(makeXML(str(pages[int(pagenum)-1][1])),quote="no")
         else:          else:
             return str(self.xml2html(pages[int(pagenum)-1][1]()))              return str(self.xml2html(makeXML(pages[int(pagenum)-1][1]()),quote="no"))
                   
     def nextPage(self,pagenum,url):      def nextPage(self,pagenum,url):
         pages=len(self.ZopeFind(self,obj_metatypes=['DTML Document','File'])) # teste ob performance ok, sonst in variable          pages=len(self.ZopeFind(self,obj_metatypes=['DTML Document','File'])) # teste ob performance ok, sonst in variable
Line 187  class VLP_resource(ECHO_resource): Line 203  class VLP_resource(ECHO_resource):
         {'label':'Update Index','action':'createIndexFile'},          {'label':'Update Index','action':'createIndexFile'},
         {'label':'Reset MetaLink','action':'resetMetaLink'},          {'label':'Reset MetaLink','action':'resetMetaLink'},
         {'label':'Generate Title','action':'generate_title'},          {'label':'Generate Title','action':'generate_title'},
       {'label':'Generate Library Template','action':'generateLibraryTemplateHTML'},
         )          )
   
   
     def printDict(self):  
         """dict"""  
         return self.__dict__  
       
     ## def __init__(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords):  
 ##         """angepasstes init"""  
           
               
 ##         return ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords)  
   
           
     def resetMetaLink(self,all="no",RESPONSE=None):      def resetMetaLink(self,all="no",RESPONSE=None):
         """resets metalink to standard resp. in case of server change it sets to the new server url"""          """resets metalink to standard resp. in case of server change it sets to the new server url"""
         if all=="yes":          if all=="yes":
Line 215  class VLP_resource(ECHO_resource): Line 220  class VLP_resource(ECHO_resource):
                           
     def show(self):      def show(self):
         """show the rendered file"""          """show the rendered file"""
   
           if self.REQUEST.get('p',None):
               self.REQUEST.set('pn',self.file2page(self.REQUEST.get('p',None)))
              
       if hasattr(self,'libraryTemplate.html'):
           return getattr(self,'libraryTemplate.html')()
       
         pt=PageTemplateFile('Products/ECHO_content/vlp/library_template.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/vlp/library_template.zpt').__of__(self)
         pt.content_type="text/html"          pt.content_type="text/html"
         return pt()          return pt()
           
     index_html=show      index_html=show
           
       def generateLibraryTemplateHTML(self,RESPONSE=None):
           """lege standard index.html an"""
   
       if not hasattr(self,'libraryTemplate.html'):
               zt=ZopePageTemplate('libraryTemplate.html')
               self._setObject('libraryTemplate.html',zt)
               default_content_fn = os.path.join(package_home(globals()),
                                                  'vlp/library_template.zpt')
               text = open(default_content_fn).read()
               zt.pt_edit(text, 'text/html')
   
           else:
               return "already exists!"
           
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
   
     def index_meta(self):      def index_meta(self):
         """index_meta"""          """index_meta"""
           
         pt=PageTemplateFile('Products/ECHO_content/vlp/index_meta.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/vlp/index_meta.zpt').__of__(self)
         pt.content_type="text/html"          pt.content_type="text/html"
         return pt()          return pt()
           
       def file2page(self,p):
           """converts filename to pagenumber"""
           dom=xml.dom.minidom.parse(urllib.urlopen(getattr(self,'index.xml').absolute_url()))
           
           for page in dom.getElementsByTagName('page'):
               if page.getAttribute('file')==p:
                   return page.getAttribute('nr')
               
           return 0
   
     def dir2index(self):      def dir2index(self):
         """dir to index"""          """dir to index"""
Line 245  class VLP_resource(ECHO_resource): Line 285  class VLP_resource(ECHO_resource):
         for x in ret:          for x in ret:
             if not (x[0]=="."):              if not (x[0]=="."):
                                   
                 temp.append(calculateName(x))                  temp.append((calculateName(x),os.path.splitext(x)[0]))
         return temp          return temp
   
       
     def firstPage(self,url=None):      def firstPage(self,url=None):
         """showlink to the first image"""          """showlink to the first image"""
         if self.REQUEST.get('pn')=="1": #erste seinte dann kein a tag          if self.REQUEST.get('pn')=="1": #erste seinte dann kein a tag

Removed from v.1.9  
changed lines
  Added in v.1.15


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