Diff for /ECHO_content/ECHO_collection.py between versions 1.23 and 1.28

version 1.23, 2004/03/30 19:12:22 version 1.28, 2004/04/04 17:48:22
Line 96  def readMetadata(url): Line 96  def readMetadata(url):
     return metadict,""      return metadict,""
           
   
 def setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordstrs,viewClassification=""):  def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs,viewClassification=""):
   
         """Allegemeine Informationen zu einer ECHO Collection"""          """Allegemeine Informationen zu einer ECHO Collection"""
   
Line 105  def setECHO_collectionInformation(self,t Line 105  def setECHO_collectionInformation(self,t
         self.label = label          self.label = label
         self.title=title          self.title=title
         self.description=description          self.description=description
         self.content_type=content_type          self.contentType=contentType
         self.responsible=responsible          self.responsible=responsible
         self.credits=toList(credits)          self.credits=toList(credits)
         self.weight=weight          self.weight=weight
Line 193  class ECHO_resource(Folder): Line 193  class ECHO_resource(Folder):
         else:          else:
             return []              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,contentType,responsible,credits,weight,coords):
   
         self.id = id          self.id = id
         """Festlegen der ID"""          """Festlegen der ID"""
Line 205  class ECHO_resource(Folder): Line 205  class ECHO_resource(Folder):
         self.weight=weight          self.weight=weight
         self.credits=toList(credits)          self.credits=toList(credits)
         self.description=description          self.description=description
         self.content_type=content_type          self.contentType=contentType
         self.responsible=responsible          self.responsible=responsible
                   
         if coords:          if coords:
Line 236  class ECHO_resource(Folder): Line 236  class ECHO_resource(Folder):
         return pt()          return pt()
           
   
     def changeECHO_resource(self,metalink,link,title,label,description,content_type,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None):      def changeECHO_resource(self,metalink,link,title,label,description,contentType,responsible,weight,viewClassification="",coords=None,credits=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,title,label,description,content_type,responsible,credits,weight,coordsnew)          setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew)
   
         self.coords=coordsnew[0:]          self.coords=coordsnew[0:]
         self.link=link          self.link=link
Line 328  def manage_addECHO_resourceForm(self): Line 328  def manage_addECHO_resourceForm(self):
   
   
   
 def manage_addECHO_resource(self,id,title,label,description,content_type,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):  def manage_addECHO_resource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
     """addaresource"""      """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,contentType,responsible,credits,weight,coords)
   
     self._setObject(id,newObj)      self._setObject(id,newObj)
   
Line 345  class ECHO_externalLink(Folder): Line 345  class ECHO_externalLink(Folder):
     meta_type='ECHO_externalLink'      meta_type='ECHO_externalLink'
   
   
     def __init__(self,id,link,title,label,description,content_type,responsible,credits,weight,coords):      def __init__(self,id,link,title,label,description,contentType,responsible,credits,weight,coords):
   
         self.id = id          self.id = id
         """Festlegen der ID"""          """Festlegen der ID"""
Line 356  class ECHO_externalLink(Folder): Line 356  class ECHO_externalLink(Folder):
         self.title=title          self.title=title
         self.weight=weight          self.weight=weight
         self.description=description          self.description=description
         self.content_type=content_type          self.contentType=contentType
         self.responsible=responsible          self.responsible=responsible
         coordsnew=[ string.split(x,",") for x in coords]          coordsnew=[ string.split(x,",") for x in coords]
         self.coords=coordsnew          self.coords=coordsnew
Line 375  class ECHO_externalLink(Folder): Line 375  class ECHO_externalLink(Folder):
         return pt()          return pt()
           
   
     def changeECHO_externalLink(self,link,title,label,description,content_type,responsible,weight,coords=None,credits=None,RESPONSE=None):      def changeECHO_externalLink(self,link,title,label,description,contentType,responsible,weight,coords=None,credits=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,title,label,description,content_type,responsible,credits,weight,coords)          setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coords)
   
         self.coords=coordsnew[0:]          self.coords=coordsnew[0:]
         self.link=link          self.link=link
Line 410  def manage_addECHO_externalLinkForm(self Line 410  def manage_addECHO_externalLinkForm(self
         return pt()          return pt()
   
   
 def manage_addECHO_externalLink(self,id,title,label,description,content_type,responsible,link,weight,coords=None,credits=None,RESPONSE=None):  def manage_addECHO_externalLink(self,id,title,label,description,contentType,responsible,link,weight,coords=None,credits=None,RESPONSE=None):
     """Add an external Link"""      """Add an external Link"""
   
     newObj=ECHO_externalLink(id,link,title,label,description,content_type,responsible,credits,weight,coords)      newObj=ECHO_externalLink(id,link,title,label,description,contentType,responsible,credits,weight,coords)
   
     self._setObject(id,newObj)      self._setObject(id,newObj)
   
Line 421  def manage_addECHO_externalLink(self,id, Line 421  def manage_addECHO_externalLink(self,id,
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
     
                   
   
 class ECHO_collection(Folder, Persistent, Implicit):  class ECHO_collection(Folder, Persistent, Implicit):
     """ECHO Collection"""      """ECHO Collection"""
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
     meta_type='ECHO_collection'      meta_type='ECHO_collection'
   
       def getImageTag(self):
           """GetTag"""
           try:
               return self.imageTag
           except:
               return ""
   
       def addResource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
           """SSS"""
           try:
               manage_addECHO_resource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None)
               return "done"
           except:
               return None
       
       def getCollectionTreeXML(self):
           """Tree as XML"""
   
           def getCollection(object,depth=0):
               depth+=1
               collections=""
               for entry in object.__dict__.keys():
                   element=getattr(object,entry)
                   try:
                       if element.meta_type=="ECHO_collection":
                           collections+="<element name=\""+element.title+"\" url=\""+element.absolute_url()+"\">"
                           collections+=getCollection(element,depth)+"</element>\n"
                   except:
                       """nothing"""
               return collections
           
   
           return "<collection>"+getCollection(self)+"</collection>"
       
     def createJavaScript(self):      def createJavaScript(self):
         """CreateJava"""          """CreateJava"""
         ret=javaScriptMain          ret=javaScriptMain
Line 495  class ECHO_collection(Folder, Persistent Line 530  class ECHO_collection(Folder, Persistent
   
             return []              return []
                   
     def __init__(self,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords):      def __init__(self,id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,imageTag=""):
         #print "CO",coords          #print "CO",coords
   
         self.id = id          self.id = id
Line 504  class ECHO_collection(Folder, Persistent Line 539  class ECHO_collection(Folder, Persistent
         self.label = label          self.label = label
         self.title=title          self.title=title
         self.description=description          self.description=description
         self.content_type=content_type          self.contentType=contentType
         self.responsible=responsible          self.responsible=responsible
           self.imageTag=imageTag
         self.weight=weight          self.weight=weight
         self.sortfield=sortfield          self.sortfield=sortfield
         coordsnew=[ string.split(x,",") for x in coords]          coordsnew=[ string.split(x,",") for x in coords]
Line 569  class ECHO_collection(Folder, Persistent Line 604  class ECHO_collection(Folder, Persistent
     security.declarePublic('changeECHO_collection')      security.declarePublic('changeECHO_collection')
   
   
     def changeECHO_collection(self,title,label,description,content_type,responsible,weight,credits=None,sortfield="weight",coords=None,RESPONSE=None):      def changeECHO_collection(self,title,label,description,contentType,responsible,weight,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag=""):
         """Änderung der Properties"""          """Änderung der Properties"""
   
                   self.imageTag=imageTag
         coordsnew=[ string.split(x,",") for x in coords]          coordsnew=[ string.split(x,",") for x in coords]
   
         setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordsnew)          setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew)
                   
         self.coords=coordsnew[0:]          self.coords=coordsnew[0:]
         self.sortfield=sortfield          self.sortfield=sortfield
Line 604  class ECHO_collection(Folder, Persistent Line 639  class ECHO_collection(Folder, Persistent
                           
                   
         pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_content_standard.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_content_standard.zpt').__of__(self)
         pt.content_type="text/html"          pt.contentType="text/html"
         return pt()          return pt()
   
     def getCredits(self):      def getCredits(self):
Line 684  def manage_addECHO_collectionForm(self): Line 719  def manage_addECHO_collectionForm(self):
         return pt()          return pt()
   
   
 def manage_addECHO_collection(self,id,title,label,description,content_type,responsible,weight,sortfield,coords="",credits=None,RESPONSE=None):  def manage_addECHO_collection(self,id,title,label,description,contentType,responsible,weight,sortfield,coords="",credits=None,RESPONSE=None,imageTag=""):
     """add a echo collection"""      """add a echo collection"""
           
   
     newObj=ECHO_collection(id,title,label,description,content_type,responsible,credits,weight,sortfield,coords)      newObj=ECHO_collection(id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,imageTag)
   
     self._setObject(id,newObj)      self._setObject(id,newObj)
   
Line 700  class ECHO_root(Folder,Persistent,Implic Line 735  class ECHO_root(Folder,Persistent,Implic
     meta_type="ECHO_root"      meta_type="ECHO_root"
   
           
       def contentTypeSelector_HTML(self,selected=None):
           """give type selector"""
           if not selected:
               retStr="<option selected>\n"
           else:
               retStr="<option>\n"
               
           try:
               for contentType in self.ZopeFind(self.contentTypes,obj_metatypes="ECHO_contentType"):
                   if selected and (contentType[0]==selected):
                       retStr+="""<option selected value="%s">%s\n"""%(contentType[0],contentType[0])
                   else:                
                       retStr+="""<option value="%s">%s\n"""%(contentType[0],contentType[0])
           except:
               """nothing"""
           return retStr
               
       def patchContentType(self,obj=None):
           """austauschen content_type with contentType (patch bei umstieg von alter Version)"""
       
   
           if not obj:
               obj = self
               
           entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection,ECHO_externalLink,ECHO_pageTemplate'])
   
           for entry in entries:
                   
                   entry[1].contentType == entry[1].content_type
   
                   if entry[1].meta_type == 'ECHO_collection':
                       entry[1].patchContentType(entry[1])    
   
                   
           return "Rerenderd all links to resources in: "+self.title
   
     def ECHO_newViewerLink(self,obj=None):      def ECHO_newViewerLink(self,obj=None):
         """change links (:86 faellt weg)"""          """change links (:86 faellt weg)"""
Line 792  class ECHO_root(Folder,Persistent,Implic Line 862  class ECHO_root(Folder,Persistent,Implic
                   
     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']  
         ids=[]  
         try:  
             for entry in self.partners.__dict__.keys():  
                 object=getattr(self.partners,entry)  
                                   
                 try:          return [ item[1] for item in self.partners.ZopeFind(self.partners,obj_metatypes=['ECHO_partner'])]
                                   
                     if object.meta_type in partnerTypes:  
                         ids.append(object)  
                                           
                 except:                     
                     """nothing"""  
         except:      
             ids=[] # no partners      def getPartnersXML(self):
         return ids          """partner liste als xml""" 
           partners=self.getPartners()
           ret="<partners>"
           for partner in partners:
               ret+="""<partner id="%s" title="%s"/>\n"""%(partner.getId(),partner.title)
   
           return ret+"\n</partners>"
   
     def getCollectionTree(self):      def getCollectionTree(self):
         """get the collection tree (list of triples (parent,child, depth)"""          """get the collection tree (list of triples (parent,child, depth)"""
Line 854  class ECHO_partner(Image,Persistent): Line 923  class ECHO_partner(Image,Persistent):
   
     meta_type="ECHO_partner"      meta_type="ECHO_partner"
   
     def __init__(self, id, title,url, file, content_type='', precondition=''):      def __init__(self, id, title,url, file, contentType='', precondition=''):
         self.__name__=id          self.__name__=id
         self.title=title          self.title=title
         self.url=url          self.url=url
         self.precondition=precondition          self.precondition=precondition
   
         data, size = self._read_data(file)          data, size = self._read_data(file)
         content_type=self._get_content_type(file, data, id, content_type)          contentType=self._get_contentType(file, data, id, contentType)
         self.update_data(data, content_type, size)          self.update_data(data, contentType, size)
   
     manage_options = Image.manage_options+(      manage_options = Image.manage_options+(
         {'label':'Partner Information','action':'ECHO_partner_config'},          {'label':'Partner Information','action':'ECHO_partner_config'},
Line 889  manage_addECHO_partnerForm=DTMLFile('dtm Line 958  manage_addECHO_partnerForm=DTMLFile('dtm
   
   
   
 def manage_addECHO_partner(self, id, file,url, title='', precondition='', content_type='',  def manage_addECHO_partner(self, id, file,url, title='', precondition='', contentType='',
                     REQUEST=None):                      REQUEST=None):
     """      """
     Add a new ECHO_partner object.      Add a new ECHO_partner object.
Line 900  def manage_addECHO_partner(self, id, fil Line 969  def manage_addECHO_partner(self, id, fil
   
     id=str(id)      id=str(id)
     title=str(title)      title=str(title)
     content_type=str(content_type)      contentType=str(contentType)
     precondition=str(precondition)      precondition=str(precondition)
   
     id, title = OFS.Image.cookId(id, title, file)      id, title = OFS.Image.cookId(id, title, file)
Line 908  def manage_addECHO_partner(self, id, fil Line 977  def manage_addECHO_partner(self, id, fil
     self=self.this()      self=self.this()
   
     # First, we create the image without data:      # First, we create the image without data:
     self._setObject(id, ECHO_partner(id,title,url,'',content_type, precondition))      self._setObject(id, ECHO_partner(id,title,url,'',contentType, precondition))
   
     # Now we "upload" the data.  By doing this in two steps, we      # Now we "upload" the data.  By doing this in two steps, we
     # can use a database trick to make the upload more efficient.      # can use a database trick to make the upload more efficient.
     if file:      if file:
         self._getOb(id).manage_upload(file)          self._getOb(id).manage_upload(file)
     if content_type:      if contentType:
         self._getOb(id).content_type=content_type          self._getOb(id).contentType=contentType
   
     if REQUEST is not None:      if REQUEST is not None:
         try:    url=self.DestinationURL()          try:    url=self.DestinationURL()

Removed from v.1.23  
changed lines
  Added in v.1.28


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