Diff for /ECHO_content/VLPExtension.py between versions 1.6 and 1.13

version 1.6, 2004/06/08 15:25:11 version 1.13, 2004/07/16 16:31:12
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 getText(nodelist):  def getText(nodelist):
   
Line 18  class VLP_essay(Folder): Line 24  class VLP_essay(Folder):
   
     meta_type="VLP_essay"      meta_type="VLP_essay"
   
       manage_options = Folder.manage_options+(
           {'label':'Main Config','action':'ConfigVLP_essayForm'},
                   )
   
       def content_html(self,type='collection'):
           """template fuer content"""
           #templates = self.ZopeFind(self.aq_parent,obj_ids=[type+"_template"])
           #
           #if templates:
           #    return templates[0][1]()
       
           if hasattr(self,type+"_template"):
               obj=getattr(self,type+"_template")
               return obj()
           else:
               pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_%s_template_standard.zpt'%type).__of__(self)
               pt.content_type="text/html"
               return pt()
   
       def ConfigVLP_essayForm(self):
           """Form for adding"""
           pt=PageTemplateFile('Products/ECHO_content/vlp/ChangeVLP_essay.zpt').__of__(self)
           return pt()
   
       def ChangeVLP_essay(self,title,label,description,RESPONSE=None):
           """Change vlp_essay"""
           self.title=title
           self.label=label
           self.description=description
   
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
     def __init__(self,id,title,label):      def __init__(self,id,title,label):
         """init"""          """init"""
         self.id=id          self.id=id
Line 34  class VLP_essay(Folder): Line 73  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 str(pages[int(pagenum)-1][1])              return self.xml2html(str(pages[int(pagenum)-1][1]))
         else:          else:
             return str(pages[int(pagenum)-1][1]())              return str(self.xml2html(pages[int(pagenum)-1][1]()))
                   
     def nextPage(self,pagenum,url):      def nextPage(self,pagenum,url):
         pages=len(self.ZopeFind(self,obj_metatypes=['DTML Document'])) # teste ob performance ok, sonst in variable          pages=len(self.ZopeFind(self,obj_metatypes=['DTML Document','File'])) # teste ob performance ok, sonst in variable
         if int(pagenum)+1 <= pages:          if int(pagenum)+1 <= pages:
             retstr=url+"?p="+str(int(pagenum)+1)              retstr=url+"?p="+str(int(pagenum)+1)
             return """<td align="right" <a href="%s">next</a></td>"""%retstr              return """<td align="right" <a href="%s">next</a></td>"""%retstr
                   
     def previousPage(self,pagenum,url):      def previousPage(self,pagenum,url):
         pages=len(self.ZopeFind(self,obj_metatypes=['DTML Document'])) # teste ob performance ok, sonst in variable          
         if int(pagenum)-1 > 0:          if int(pagenum)-1 > 0:
             retstr=url+"?p="+str(int(pagenum)-1)              retstr=url+"?p="+str(int(pagenum)-1)
             return """<td align="left" <a href="%s">previous</a></td>"""%retstr              return """<td align="left" <a href="%s">previous</a></td>"""%retstr
Line 182  class VLP_resource(ECHO_resource): Line 221  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)))
              
   
         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()
Line 190  class VLP_resource(ECHO_resource): Line 234  class VLP_resource(ECHO_resource):
           
     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 212  class VLP_resource(ECHO_resource): Line 266  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.6  
changed lines
  Added in v.1.13


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