Diff for /ECHO_content/ECHO_collection.py between versions 1.8 and 1.19

version 1.8, 2004/01/14 16:09:36 version 1.19, 2004/03/30 10:47:54
Line 1 Line 1
   """New version of the product started February, 8th. Without scientific classification, use content-type for further classification."""
 """Echo collection provides the classes for the ECHO content web-site.  """Echo collection provides the classes for the ECHO content web-site.
   
 class ECHO_collection is the basis class for an ECHO collection.  class ECHO_collection is the basis class for an ECHO collection.
Line 8  class ECHO_resource contains information Line 8  class ECHO_resource contains information
 class ECHO_externalLink contains information on externalLinks  class ECHO_externalLink contains information on externalLinks
   
   
   
 """  """
 import string  import string
   import re
 import OFS.Image  import OFS.Image
 from types import *  from types import *
 from OFS.Image import Image  from OFS.Image import Image
Line 24  from Products.PageTemplates.PageTemplate Line 24  from Products.PageTemplates.PageTemplate
 from Products.PageTemplates.PageTemplate import PageTemplate  from Products.PageTemplates.PageTemplate import PageTemplate
 from Globals import Persistent  from Globals import Persistent
 from Acquisition import Implicit  from Acquisition import Implicit
   #from psycopg import libpq
   #from pyPgSQL import libpq
   import xml.dom.minidom
   
 import urllib  import urllib
 import xml.dom.minidom  import xml.dom.minidom
Line 94  def readMetadata(url): Line 96  def readMetadata(url):
     return metadict,""      return metadict,""
           
   
 def setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coordstrs,viewClassification=""):  def setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordstrs,viewClassification=""):
   
         """Allegemeine Informationen zu einer ECHO Collection"""          """Allegemeine Informationen zu einer ECHO Collection"""
   
Line 108  def setECHO_CollectionInformation(self,c Line 110  def setECHO_CollectionInformation(self,c
         self.credits=toList(credits)          self.credits=toList(credits)
         self.weight=weight          self.weight=weight
   
         self.scientific_Information.source_type=source_type  
         self.scientific_Information.period=period  
         self.scientific_Information.scientific_Classification.context=context  
         self.scientific_Information.scientific_Classification.science=science  
         self.scientific_Information.scientific_Classification.practice=practice  
           
         coords=[]          coords=[]
         #coordinates of for rectangles          #coordinates of for rectangles
   
           #print "cs", coordstrs
           if coordstrs:
         for coordstr in coordstrs:          for coordstr in coordstrs:
                   #print "cs", coordstr
             try:              try:
                 temco=coordstr.split(",")                  temco=coordstr.split(",")
             except:              except:
                 temco=[]                  temco=[]
             #temco.append(angle)              #temco.append(angle)
             coords.append(temco)              coords.append(temco)
   
   
         self.coords=coords[0:]          self.coords=coords[0:]
                           
   
 class scientificClassification(SimpleItem,Persistent,Implicit):  class scientificClassification(SimpleItem,Persistent,Implicit):
     """subclass"""      """outdated will be deleeted in the next versions: subclass"""
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
           
     def __init__(self,context,science,practice):      def __init__(self,context,science,practice):
Line 150  class scientificClassification(SimpleIte Line 152  class scientificClassification(SimpleIte
           
                                   
 class scientificInformation(Folder,Persistent,Implicit):  class scientificInformation(Folder,Persistent,Implicit):
     """subclass scientificInformation"""      """outdated will be deleted in the next versions: subclass scientificInformation"""
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
           
           
Line 184  class ECHO_resource(Folder): Line 186  class ECHO_resource(Folder):
         else:          else:
             return ""              return ""
           
       def getCredits(self):
           """Ausgabe der credits"""
           if self.credits:
               return self.credits
           else:
               return []
       
     def __init__(self,id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords):      def __init__(self,id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords):
   
         self.id = id          self.id = id
Line 198  class ECHO_resource(Folder): Line 207  class ECHO_resource(Folder):
         self.description=description          self.description=description
         self.content_type=content_type          self.content_type=content_type
         self.responsible=responsible          self.responsible=responsible
           
           if coords:
         coordsnew=[ string.split(x,",") for x in coords]          coordsnew=[ string.split(x,",") for x in coords]
           else:
               coordsnew=[]
           
         self.coords=coordsnew          self.coords=coordsnew
   
   
     def getCoords(self):      def getCoords(self):
         try:          try:
             print   
             return [string.join(x,",") for x in self.coords]                return [string.join(x,",") for x in self.coords]  
         except:          except:
             return []              return []
Line 218  class ECHO_resource(Folder): Line 231  class ECHO_resource(Folder):
         if not hasattr(self,'coords'):          if not hasattr(self,'coords'):
             self.coords=[]              self.coords=[]
   
         pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_resource.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource.zpt').__of__(self)
         return pt()          return pt()
           
   
     def changeECHO_resource(self,metalink,link,context,science,practice,source_type,period,title,label,description,content_type,responsible,credits,weight,viewClassification="",coords="",RESPONSE=None):      def changeECHO_resource(self,metalink,link,title,label,description,content_type,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None):
   
   
         """Änderung der Properties"""          """Änderung der Properties"""
                   
   
         setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coords,viewClassification)          setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coords,viewClassification)
   
                   
         self.link=link          self.link=link
Line 245  class ECHO_resource(Folder): Line 259  class ECHO_resource(Folder):
   
     def ECHO_graphicEntry(self):      def ECHO_graphicEntry(self):
         """DO nothing"""          """DO nothing"""
         if 'overview' in self.aq_parent.__dict__.keys():          overview = self.ZopeFind(self,obj_ids=['overview'])
             pt=PageTemplateFile('Products/ECHO_content/ECHO_draw.zpt').__of__(self)          
           if overview: 
               pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_draw.zpt').__of__(self)
             return pt()              return pt()
         else:          else:
             return "NO OVERVIEW GRAPHICS"              return "NO OVERVIEW GRAPHICS"
Line 259  class ECHO_resource(Folder): Line 275  class ECHO_resource(Folder):
         coords.append(temco)          coords.append(temco)
                   
         self.coords=coords[0:]          self.coords=coords[0:]
         #pt=PageTemplateFile('Products/ECHO_content/ECHO_draw.zpt').__of__(self)  
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('ECHO_graphicEntry')              RESPONSE.redirect('ECHO_graphicEntry')
   
Line 267  class ECHO_resource(Folder): Line 283  class ECHO_resource(Folder):
         """Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource"""          """Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource"""
         (metadict, error)=readMetadata(self.metalink)          (metadict, error)=readMetadata(self.metalink)
   
         #print "BLA"          
   
         if not error=="": #Fehler beim Auslesen des Metafiles          if not error=="": #Fehler beim Auslesen des Metafiles
             return "ERROR:",error              return "ERROR:",error
Line 277  class ECHO_resource(Folder): Line 293  class ECHO_resource(Folder):
                   
   
         self.metadata=metadict.keys()          self.metadata=metadict.keys()
         #return "BLUccssB"  
         self.label=self.generate_label()          self.label=self.generate_label()
                   
         if template=="yes":          if template=="yes":
             pt=PageTemplateFile('Products/ECHO_content/ECHO_resourceMD.zpt').__of__(self)              pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_resourceMD.zpt').__of__(self)
             return pt()              return pt()
           
     def ECHO_getMD(self,item):      def ECHO_getMD(self,item):
Line 296  class ECHO_resource(Folder): Line 312  class ECHO_resource(Folder):
     def generate_label(self):      def generate_label(self):
         """Erzeugt_standard_Label aus Template"""          """Erzeugt_standard_Label aus Template"""
         pt=getattr(self,"label_template_"+self.bib_type)          pt=getattr(self,"label_template_"+self.bib_type)
         #return pt  
         #pt.content_type="text/html; charset=utf-8"  
         return pt()  
   
 def manage_AddECHO_resourceForm(self):  
         """Nothing yet"""  
         pt=PageTemplateFile('Products/ECHO_content/AddECHO_resourceForm.zpt').__of__(self)  
         return pt()          return pt()
   
   def manage_addECHO_resourceForm(self):
           """Form for adding a ressource"""
           pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_resourceForm.zpt').__of__(self)
           return pt()
   
 def manage_AddECHO_resource(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,link,metalink,credits,weight,coords=[],RESPONSE=None):  
   
     """nothing yet"""  
     scientificClassificationObj=scientificClassification(context,science,practice)  
           
     scientificInformationObj=scientificInformation(source_type,period)  
           
   def manage_addECHO_resource(self,id,title,label,description,content_type,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
       """addaresource"""
   
     newObj=ECHO_resource(id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords)      newObj=ECHO_resource(id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords)
   
     self._setObject(id,newObj)      self._setObject(id,newObj)
     getattr(self,id)._setObject('scientific_Information',scientificInformationObj)  
     getattr(self,id).scientific_Information._setObject('scientific_Classification',scientificClassificationObj)  
     if RESPONSE is not None:      if RESPONSE is not None:
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
     
Line 351  class ECHO_externalLink(Folder): Line 361  class ECHO_externalLink(Folder):
         if not hasattr(self,'weight'):          if not hasattr(self,'weight'):
             self.weight=""              self.weight=""
         if not hasattr(self,'coords'):          if not hasattr(self,'coords'):
             print "HI"              
             self.coords=['']              self.coords=['']
             print "G",self.coords              #print "G",self.coords
   
         pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_externalLink.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_externalLink.zpt').__of__(self)
         return pt()          return pt()
           
   
     def changeECHO_externalLink(self,link,context,science,practice,source_type,period,title,label,description,content_type,responsible,credits,weight,coords,RESPONSE=None):      def changeECHO_externalLink(self,link,title,label,description,content_type,responsible,weight,coords=None,credits=None,RESPONSE=None):
   
         """Änderung der Properties"""          """Änderung der Properties"""
                   
   
         setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coords)          setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coords)
   
                   
         self.link=link          self.link=link
Line 376  class ECHO_externalLink(Folder): Line 386  class ECHO_externalLink(Folder):
         {'label':'Main Config','action':'ECHO_externalLink_config'},          {'label':'Main Config','action':'ECHO_externalLink_config'},
         )          )
           
       def getCredits(self):
           """Ausgabe der credits"""
           if self.credits:
               return self.credits
           else:
               return []
           
     def index_html(self):      def index_html(self):
         """standard page"""          """standard page"""
                   
         return self.REQUEST.RESPONSE.redirect(self.link)          return self.REQUEST.RESPONSE.redirect(self.link)
   
 def manage_AddECHO_externalLinkForm(self):  def manage_addECHO_externalLinkForm(self):
         """Nothing yet"""          """Form for external Links"""
         pt=PageTemplateFile('Products/ECHO_content/AddECHO_externalLinkForm.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_externalLinkForm.zpt').__of__(self)
         return pt()          return pt()
   
   
 def manage_AddECHO_externalLink(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,link,credits,weight,coords,RESPONSE=None):  def manage_addECHO_externalLink(self,id,title,label,description,content_type,responsible,link,weight,coords=None,credits=None,RESPONSE=None):
       """Add an external Link"""
     """nothing yet"""  
     scientificClassificationObj=scientificClassification(context,science,practice)  
       
     scientificInformationObj=scientificInformation(source_type,period)  
       
   
     newObj=ECHO_externalLink(id,link,title,label,description,content_type,responsible,credits,weight,coords)      newObj=ECHO_externalLink(id,link,title,label,description,content_type,responsible,credits,weight,coords)
   
     self._setObject(id,newObj)      self._setObject(id,newObj)
     getattr(self,id)._setObject('scientific_Information',scientificInformationObj)  
     getattr(self,id).scientific_Information._setObject('scientific_Classification',scientificClassificationObj)  
     if RESPONSE is not None:      if RESPONSE is not None:
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
     
Line 414  class ECHO_collection(Folder, Persistent Line 425  class ECHO_collection(Folder, Persistent
     security.declarePublic('getCreditObject')      security.declarePublic('getCreditObject')
     def getCreditObject(self,name):      def getCreditObject(self,name):
         """credit id to credititem"""          """credit id to credititem"""
           try:
         return getattr(self.partners,name)          return getattr(self.partners,name)
           except:
               return ""
           
     security.declarePublic('ECHO_generateNavBar')      security.declarePublic('ECHO_generateNavBar')
     def ECHO_generateNavBar(self):      def ECHO_generateNavBar(self):
Line 438  class ECHO_collection(Folder, Persistent Line 452  class ECHO_collection(Folder, Persistent
     security.declarePublic('ECHO_rerenderLinksMD')      security.declarePublic('ECHO_rerenderLinksMD')
     def ECHO_rerenderLinksMD(self):      def ECHO_rerenderLinksMD(self):
         """Rerender all Links"""          """Rerender all Links"""
         #print "HI"          
         #return "OK"  
         for entry in self.__dict__.keys():          for entry in self.__dict__.keys():
             object=getattr(self,entry)              object=getattr(self,entry)
                           
Line 455  class ECHO_collection(Folder, Persistent Line 468  class ECHO_collection(Folder, Persistent
                                   
         return "Rerenderd all links to resources in: "+self.title          return "Rerenderd all links to resources in: "+self.title
           
       security.declarePublic('ECHO_newViewerLink')
   
     security.declarePublic('printall')  
     def printall(self):  
             return self.scientific_information.__dict__.keys()  
   
   
     def getCoords(self):      def getCoords(self):
         try:          try:
             print self.coords  
             return [string.join(x,",") for x in self.coords]    
   
               x=  [string.join(x,",") for x in self.coords]  
               return x
   
         except:          except:
   
             return []              return []
                   
     def __init__(self,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords):      def __init__(self,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords):
         print "CO",coords          #print "CO",coords
   
         self.id = id          self.id = id
         """Festlegen der ID"""          """Festlegen der ID"""
Line 490  class ECHO_collection(Folder, Persistent Line 500  class ECHO_collection(Folder, Persistent
   
   
     manage_options = Folder.manage_options+(      manage_options = Folder.manage_options+(
         {'label':'Main Config','action':'ECHO_Collection_config'},          {'label':'Main Config','action':'ECHO_collection_config'},
         {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},          {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},
         {'label':'Graphics','action':'ECHO_graphicEntry'},          {'label':'Graphics','action':'ECHO_graphicEntry'},
   
         )          )
   
       def getOverview(self):
           """overview graphics"""
           return self.ZopeFind(self,obj_ids=['overview'])[0][1]
       
     def ECHO_graphicEntry(self):      def ECHO_graphicEntry(self):
         """DO nothing"""          """DO nothing"""
         if 'overview' in self.aq_parent.__dict__.keys():          overview = self.ZopeFind(self,obj_ids=['overview'])
             pt=PageTemplateFile('Products/ECHO_content/ECHO_draw.zpt').__of__(self)          
           if overview:
               pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_draw.zpt').__of__(self)
             return pt()              return pt()
         else:          else:
             return "NO OVERVIEW GRAPHICS"              return "NO OVERVIEW GRAPHICS"
Line 511  class ECHO_collection(Folder, Persistent Line 527  class ECHO_collection(Folder, Persistent
         temco.append(angle)          temco.append(angle)
         coords.append(temco)          coords.append(temco)
         self.coords=coords[0:]          self.coords=coords[0:]
         #pt=PageTemplateFile('Products/ECHO_content/ECHO_draw.zpt').__of__(self)  
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('ECHO_graphicEntry')              RESPONSE.redirect('ECHO_graphicEntry')
   
           
     security.declarePublic('ECHO_Collection_config')      security.declarePublic('ECHO_collection_config')
     def ECHO_Collection_config(self):      def ECHO_collection_config(self):
         """Main configuration"""          """Main configuration"""
   
         if not hasattr(self,'weight'):          if not hasattr(self,'weight'):
Line 525  class ECHO_collection(Folder, Persistent Line 541  class ECHO_collection(Folder, Persistent
   
         if not hasattr(self,'sortfield'):          if not hasattr(self,'sortfield'):
             self.sortfield="weight"              self.sortfield="weight"
         #print "HI"    
         if not hasattr(self,'coords'):          if not hasattr(self,'coords'):
             self.coords=[]              self.coords=[]
   
         pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_Collection.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_collection.zpt').__of__(self)
         return pt()          return pt()
   
   
     security.declarePublic('changeECHO_Collection')      security.declarePublic('changeECHO_collection')
   
     def changeECHO_Collection(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,sortfield="weight",coords="",RESPONSE=None):  
   
       def changeECHO_collection(self,title,label,description,content_type,responsible,weight,credits=None,sortfield="weight",coords=None,RESPONSE=None):
         """Änderung der Properties"""          """Änderung der Properties"""
   
         coordsnew=[ string.split(x,",") for x in coords]          coordsnew=[ string.split(x,",") for x in coords]
         setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coordsnew)  
           setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordsnew)
   
         self.sortfield=sortfield          self.sortfield=sortfield
   
Line 549  class ECHO_collection(Folder, Persistent Line 566  class ECHO_collection(Folder, Persistent
                           
     security.declarePublic('index_html')      security.declarePublic('index_html')
   
     showOverview=DTMLFile('ECHO_content_overview',globals())      showOverview=DTMLFile('dtml/ECHO_content_overview',globals())
           
           
     def index_html(self):      def index_html(self):
         """standard page"""          """standard page"""
         #print self.objectIDs()  
                   
         if 'index.html' in self.__dict__.keys():          if 'index.html' in self.__dict__.keys():
             return getattr(self,'index.html')()              return getattr(self,'index.html')()
         elif 'overview' in self.__dict__.keys():          elif 'overview' in self.__dict__.keys():
             #print "HI"  
             return self.showOverview()              return self.showOverview()
                           
                   
         pt=PageTemplateFile('Products/ECHO_content/ECHO_content_standard.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_content_standard.zpt').__of__(self)
         pt.content_type="text/html"          pt.content_type="text/html"
         return pt()          return pt()
   
       def getCredits(self):
           """Ausgabe der credits"""
           if self.credits:
               return self.credits
           else:
               return []
   
     def getGraphicCoords(self):      def getGraphicCoords(self):
         """Give list of coordinates"""          """Give list of coordinates"""
Line 574  class ECHO_collection(Folder, Persistent Line 595  class ECHO_collection(Folder, Persistent
         ids=[]          ids=[]
         for entry in self.__dict__.keys():          for entry in self.__dict__.keys():
             object=getattr(self,entry)              object=getattr(self,entry)
             #print "OB:",object  
               
             try:              try:
                 #print "MT:",object.meta_type  
                 if object.meta_type in subColTypes:                  if object.meta_type in subColTypes:
                     #print "MT:",object.meta_type,object.getId()  
                     for coordtemp in object.coords:                      for coordtemp in object.coords:
                         if len(coordtemp)>3:                          if len(coordtemp)>3:
                             coord=coordtemp[0:4]                              coord=coordtemp[0:4]
Line 593  class ECHO_collection(Folder, Persistent Line 610  class ECHO_collection(Folder, Persistent
                                           
             except:              except:
                 """nothing"""                  """nothing"""
         #print "IDS",ids  
         return ids          return ids
           
     def getSubCols(self,sortfield="weight"):      def getSubCols(self,sortfield="weight"):
Line 602  class ECHO_collection(Folder, Persistent Line 619  class ECHO_collection(Folder, Persistent
         ids=[]          ids=[]
         for entry in self.__dict__.keys():          for entry in self.__dict__.keys():
             object=getattr(self,entry)              object=getattr(self,entry)
             #print "OB:",object  
               
             try:              try:
                 #print "MT:",object.meta_type  
                 if object.meta_type in subColTypes:                  if object.meta_type in subColTypes:
                     ids.append(object)                      ids.append(object)
                                           
Line 635  class ECHO_collection(Folder, Persistent Line 649  class ECHO_collection(Folder, Persistent
                                   
           
           
 def manage_AddECHO_collectionForm(self):  def manage_addECHO_collectionForm(self):
         """Nothing yet"""          """Add collection form"""
         pt=PageTemplateFile('Products/ECHO_content/AddECHO_collectionForm.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_collectionForm.zpt').__of__(self)
         return pt()          return pt()
   
   
 def manage_AddECHO_collection(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords,RESPONSE=None):  def manage_addECHO_collection(self,id,title,label,description,content_type,responsible,weight,sortfield,coords="",credits=None,RESPONSE=None):
       """add a echo collection"""
     """nothing yet"""  
     scientificClassificationObj=scientificClassification(context,science,practice)  
       
     scientificInformationObj=scientificInformation(source_type,period)  
           
   
     newObj=ECHO_collection(id,title,label,description,content_type,responsible,credits,weight,sortfield,coords)      newObj=ECHO_collection(id,title,label,description,content_type,responsible,credits,weight,sortfield,coords)
   
     self._setObject(id,newObj)      self._setObject(id,newObj)
     getattr(self,id)._setObject('scientific_Information',scientificInformationObj)  
     getattr(self,id).scientific_Information._setObject('scientific_Classification',scientificClassificationObj)  
     if RESPONSE is not None:      if RESPONSE is not None:
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
   
Line 661  class ECHO_root(Folder,Persistent,Implic Line 670  class ECHO_root(Folder,Persistent,Implic
     """ECHO Root Folder"""      """ECHO Root Folder"""
     meta_type="ECHO_root"      meta_type="ECHO_root"
   
       def ECHO_newViewerLink(self,obj=None):
           """change links (:86 faellt weg)"""
   
           if not obj:
               obj = self
               
           entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection'])
   
           for entry in entries:
                   
                   if entry[1].meta_type == 'ECHO_resource':
                       
                       entry[1].link=re.sub('\:86','',entry[1].link)
   
                   else:
                       
                       entry[1].ECHO_newViewerLink(entry[1])
                   
           return "Rerenderd all links to resources in: "+self.title
   
     def __init__(self,id,title):      def __init__(self,id,title):
         """init"""          """init"""
         self.id = id          self.id = id
         self.title=title          self.title=title
                   
       def deleteSpace(self,str):
           """delete space at the end of a line"""
           if str[len(str)-1]==" ":
               return str[0:len(str)-1]
           else:
               return str
           
       
   
       # zusaetliche methoden fuer das vlp muessen in ein eigenes produkt
   
       def formatAscii(self,str,url=None):
           """ersetze ascii umbrueche durch <br>"""
           #url=None
           if url:
               
               retStr=""
               words=str.split("\n")
               
               for word in words:
                   strUrl=url%word
                   print "str",strUrl
                   retStr+="""<a href="%s">%s</a><br/>"""%(strUrl,word)
               str=retStr
           if str:
               return re.sub(r"[\n]","<br/>",str)
           else:
               return ""
           
       def link2html(self,str):
           """link2html fuer VLP muss hier noch raus"""
           if str:
               print str
               str=re.sub("\&","&amp;",str)
               dom=xml.dom.minidom.parseString("<?xml version='1.0' ?><txt>"+str+"</txt>")
               links=dom.getElementsByTagName("link")
               
               print "link",links
               for link in links:
                   link.tagName="a"
                   ref=link.getAttribute("ref")
                   if self.checkRef(ref):
                       link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)
   
               return dom.toxml('utf-8')
           return ""
   
   
       def checkRef(self,ref):
           dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':''}
           res=None
           for db in dbs.keys():
               #print ref,"select reference from %s where reference =\'%s\' %s"%(db,ref,dbs[db])
   
               res=res or self.search(var=str("select reference from %s where reference =\'%s\' %s"%(db,ref,dbs[db])))
           return res
                                       
       #Ende Methode fuer vlp
   
       def PgQuoteString(self,string):
           """Quote string"""
           #print "PG",string
           return libpq.PgQuoteString(string)
           
     def getPartners(self):      def getPartners(self):
         """Get list of Partners. Presently only from a subfolder partners"""          """Get list of Partners. Presently only from a subfolder partners"""
         partnerTypes=['ECHO_partner']          partnerTypes=['ECHO_partner']
         ids=[]          ids=[]
           try:
         for entry in self.partners.__dict__.keys():          for entry in self.partners.__dict__.keys():
             object=getattr(self.partners,entry)              object=getattr(self.partners,entry)
                           
Line 680  class ECHO_root(Folder,Persistent,Implic Line 774  class ECHO_root(Folder,Persistent,Implic
                                           
             except:              except:
                 """nothing"""                  """nothing"""
           except:
               ids=[] # no partners
         return ids          return ids
   
     def getCollectionTree(self):      def getCollectionTree(self):
Line 710  class ECHO_root(Folder,Persistent,Implic Line 806  class ECHO_root(Folder,Persistent,Implic
   
                   
                   
 def manage_AddECHO_root(self,id,title,RESPONSE=None):  def manage_addECHO_root(self,id,title,RESPONSE=None):
     """Add an ECHO_root"""      """Add an ECHO_root"""
     self._setObject(id,ECHO_root(id,title))      self._setObject(id,ECHO_root(id,title))
           
     if RESPONSE is not None:      if RESPONSE is not None:
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
   
 def manage_AddECHO_rootForm(self):  def manage_addECHO_rootForm(self):
         """Nothing yet"""          """Nothing yet"""
         pt=PageTemplateFile('Products/ECHO_content/AddECHO_root.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_root.zpt').__of__(self)
         return pt()          return pt()
     
 class ECHO_partner(Image,Persistent):  class ECHO_partner(Image,Persistent):
Line 753  class ECHO_partner(Image,Persistent): Line 849  class ECHO_partner(Image,Persistent):
         """Main configuration"""          """Main configuration"""
         if not hasattr(self,'url'):          if not hasattr(self,'url'):
             self.url=""              self.url=""
         pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_partner.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_partner.zpt').__of__(self)
         return pt()          return pt()
   
                   
 manage_AddECHO_partnerForm=DTMLFile('ECHO_partnerAdd',globals(),  manage_addECHO_partnerForm=DTMLFile('dtml/ECHO_partnerAdd',globals(),
                              Kind='ECHO_partner',kind='ECHO_partner')                               Kind='ECHO_partner',kind='ECHO_partner')
   
   
   
 def manage_AddECHO_partner(self, id, file,url, title='', precondition='', content_type='',  def manage_addECHO_partner(self, id, file,url, title='', precondition='', content_type='',
                     REQUEST=None):                      REQUEST=None):
     """      """
     Add a new ECHO_partner object.      Add a new ECHO_partner object.

Removed from v.1.8  
changed lines
  Added in v.1.19


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