Diff for /ECHO_content/VLPExtension.py between versions 1.1 and 1.94.2.1

version 1.1, 2004/05/26 07:56:28 version 1.94.2.1, 2011/10/13 07:48:27
Line 1 Line 1
 from ECHO_collection import *  """
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  DEPRICATED: USED NOW VLPExtension in the Product VLP_extensions
 from Products.PageTemplates.PageTemplate import PageTemplate  This module contains extensions which where originally made for the VLP.
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate  definiton here are only for compatibility reasons.
 import xml.dom.minidom  """
 from Products.zogiLib import zogiLib  #from Products.VLP_extensions.vlp_xmlhelpers import *
   #import  Products.VLP_extensions
   
 def getText(nodelist):  try:
       from Products.VLP_extensions.vlp_xmlhelpers import *
       import  Products.VLP_extensions
   
     rc = ""  
     for node in nodelist:  
         if node.nodeType == node.TEXT_NODE:  
            rc = rc + node.data  
     return rc  
   
       class sendMailForm(Products.VLP_extensions.VLPExtension.sendMailForm):
               pass
   
 class VLP_resource(ECHO_resource):  
     """VLP spezifische Erweiterung"""  
   
     meta_type="VLP_resource"      class VLP_collectionFolder(Products.VLP_extensions.VLPExtension.VLP_collectionFolder):
           pass
   
     vlp_basis="/mpiwg/online/permanent/vlp"      class VLP_essay(Products.VLP_extensions.VLPExtension.VLP_essay):
           pass
   
       class VLP_encyclopaedia(Products.VLP_extensions.VLPExtension.VLP_encyclopaedia):
              pass
           
     referencetypes=[]      class VLP_subcollection(Products.VLP_extensions.VLPExtension.VLP_subcollection):
              pass
       class VLP_collection(Products.VLP_extensions.VLPExtension.VLP_collection):
          pass
   
     manage_options=ECHO_resource.manage_options+(      class VLP_resource(Products.VLP_extensions.VLPExtension.VLP_resource):
         {'label':'Update Index','action':'createIndexFile'},          pass
         {'label':'Reset MetaLink','action':'resetMetaLink'},  
         {'label':'Generate Title','action':'generate_title'},  
         )  
   
   except:
      print "NO VLP extensions"
   
     def __init__(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords):  
         """angepasstes init"""  
         if metalink=='':  
             metalink=self.absolute_url()+"/index_meta"  
               
         return ECHO_resource(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords)  
           
     def resetMetaLink(self,all="no",RESPONSE=None):  
         """resets metalink to standard resp. in case of server change it sets to the new server url"""  
         if all=="yes":  
             self.metalink=self.absolute_url()+"/index_meta"  
         else:  
             splitted=self.metalink.split("/")  
             if (len(splitted)>1) and (splitted[len(splitted)-1]=="index_meta") and (splitted[len(splitted)-2]==self.getId()): # heuristic nur generische Metadatafiles andern  
                 self.metalink=self.absolute_url()+"/index_meta"  
   
         if RESPONSE:  
             return "done"  
               
     def show(self):  
         """show the rendered file"""  
         pt=PageTemplateFile('Products/ECHO_content/vlp/library_template.zpt').__of__(self)  
         pt.content_type="text/html"  
         return pt()  
       
       
     def index_meta(self):  
         """index_meta"""  
         pt=PageTemplateFile('Products/ECHO_content/vlp/index_meta.zpt').__of__(self)  
         pt.content_type="text/html"  
         return pt()  
       
   
     def dir2index(self):  
         """dir to index"""  
   
         def calculateName(str):  
             ret="%s: %s"%(str[0],str[1:5])  
             return ret  
           
         ret=os.listdir(os.path.join(self.vlp_basis,self.resourceID,'pageimg'))  
         temp=[]  
         for x in ret:  
             if not (x[0]=="."):  
                   
                 temp.append(calculateName(x))  
         return temp  
   
     def firstPage(self,url=None):  
         """showlink to the first image"""  
         if self.REQUEST.get('pn')=="1": #erste seinte dann kein a tag  
             return """<img src="../../images/first.gif" alt="first" width="14" height="14" border="0"><br>first"""  
   
         else:  
             return """<a href=%s>  
                          <img src="../../images/first.gif" alt="first" width="14" height="14" border="0"><br>first  
                          </a>  
                          """%(self.REQUEST['URL']+"?pn=1")  
   
     def lastPage(self,url=None):  
         """showlink to the first image"""  
         pages=self.readIndexFile(url)  
         if pages:  
             ln=len(pages)  
           
         if self.REQUEST.get('pn')==str(ln): #letzte seite dann kein a tag  
             return """<img src="../../images/last.gif" alt="last" width="14" height="14" border="0"><br>last"""  
   
         else:  
             return """<a href=%s>  
                          <img src="../../images/last.gif" alt="last" width="14" height="14" border="0"><br>last  
                          </a>  
                          """%(self.REQUEST['URL']+"?pn="+str(ln))  
               
     def prevPage(self,url=None):  
         """showlink to the first image"""  
           
   
         nn = int(self.REQUEST.get('pn','1'))-1  
         if nn < 1: #letzte  seite dann kein a tag  
             return """<img src="../../images/prev.gif" alt="prev" width="14" height="14" border="0"><br>prev"""  
   
         else:  
             return """<a href=%s>  
                          <img src="../../images/prev.gif" alt="prev" width="14" height="14" border="0"><br>prev  
                          </a>  
                          """%(self.REQUEST['URL']+"?pn="+str(nn))  
   
     def nextPage(self,url=None):  
         """showlink to the first image"""  
         pages=self.readIndexFile(url)  
         if pages:  
             ln=len(pages)  
   
         nn = int(self.REQUEST.get('pn','1'))+1  
         if nn>int(ln): #letzte  seite dann kein a tag  
             return """<img src="../../images/next.gif" alt="next" width="14" height="14" border="0"><br>next"""  
   
         else:  
             return """<a href=%s>  
                          <img src="../../images/next.gif" alt="next" width="14" height="14" border="0"><br>next  
                          </a>  
                          """%(self.REQUEST['URL']+"?pn="+str(nn))  
           
       
     def readIndexFile(self,url=None):  
         """reads the indexfile. presently url not None isn't implemented. In the future url can be defined."""  
         pagelist=[]  
         if not url:  
             url=self.absolute_url()+"/index.xml"  
   
         fh=urllib.urlopen(url)  
         dom=xml.dom.minidom.parse(fh)  
           
           
         for page in dom.getElementsByTagName('page'):  
             text=getText(page.childNodes)  
             pageNum=page.getAttribute('nr')  
             pagelist.append((pageNum,text))  
   
         return pagelist  
       
     def createIndexFile(self,RESPONSE=None):  
         """create index file"""  
   
           
         pt=PageTemplateFile('Products/ECHO_content/vlp/index_template.zpt').__of__(self)()  
   
   
           
         if not hasattr(self,'index.xml'):  
             zt=ZopePageTemplate('index.xml')  
             self._setObject('index.xml',zt)  
         else:  
             zt=getattr(self,'index.xml')  
               
               
         zt.pt_edit(pt, 'text/xml')  
   
         if RESPONSE is not None:  
             RESPONSE.redirect('manage_main')  
   
           
 def manage_addVLP_resourceForm(self):  
         """Form for adding a ressource"""  
         pt=PageTemplateFile('Products/ECHO_content/vlp/AddVLP_resourceForm.zpt').__of__(self)  
         return pt()  
   
   
   
 def manage_addVLP_resource(self,id,title,label,description,responsible,link,metalink,weight,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):  
     """addaresource"""  
   
       
     newObj=VLP_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords)  
   
     self._setObject(id,newObj)  
   
     if RESPONSE is not None:  
         RESPONSE.redirect('manage_main')  
     

Removed from v.1.1  
changed lines
  Added in v.1.94.2.1


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