Diff for /ECHO_content/ECHO_helpers.py between versions 1.35 and 1.45

version 1.35, 2005/01/21 13:29:15 version 1.45, 2005/03/07 20:05:38
Line 12  import Globals Line 12  import Globals
 from AccessControl import ClassSecurityInfo  from AccessControl import ClassSecurityInfo
 import os.path  import os.path
   
 displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ECHO_externalLink','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement','ImageCollection','versionedFileFolder']  displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ECHO_externalLink','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement','ImageCollection','versionedFileFolder','ECHO_movie']
   
 def content_html(self,type):  def content_html(self,type):
         """template fuer content"""          """template fuer content"""
Line 25  def content_html(self,type): Line 25  def content_html(self,type):
             obj=getattr(self,type+"_template")              obj=getattr(self,type+"_template")
             return obj()              return obj()
         else:          else:
             pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_%s_template_standard.zpt'%type).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ECHO_%s_template_standard.zpt'%type)).__of__(self)
             pt.content_type="text/html"              pt.content_type="text/html"
             return pt()              return pt()
           
Line 33  def content_html(self,type): Line 33  def content_html(self,type):
   
 class ECHO_basis:  class ECHO_basis:
     """basis eigenschaften fuer echo objekte"""      """basis eigenschaften fuer echo objekte"""
       security=ClassSecurityInfo()
       security.declarePublic('getImageTag')
       def getImageTag(self):
           """sollte uerberschrieben werden, falls von der Klasse eine imagetag zurueckkommt"""
           
           return ""
       
     def showRDF(self):      def showRDF(self):
         """showrdf"""          """showrdf"""
             self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')              self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
         ret="""<?xml version="1.0" encoding="utf-8"?>\n<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  xmlns:ECHONAVIGATION="http://www.echo.eu/rdf#">\n"""          ret="""<?xml version="1.0" encoding="utf-8"?>\n<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  xmlns:ECHONAVIGATION="http://www.echo.eu/rdf#">\n"""
         ret+=self.urn(getRDF="echo:colllectionroot")+"\n"  
           ret+=self.getRDF(urn="echo:collectionroot")+"\n"
   
   
         ret+="""</RDF:RDF>"""          ret+="""</RDF:RDF>"""
             return ret               return ret 
Line 95  class ECHO_basis: Line 104  class ECHO_basis:
                   
     def getTitle(self):      def getTitle(self):
     """title"""      """title"""
       return self.decode(self.title)
     try:      try:
         return self.title.encode('utf-8','ignore')           return self.title.encode('utf-8','ignore') 
     except:      except:
Line 103  class ECHO_basis: Line 113  class ECHO_basis:
           
     def getLabel(self):      def getLabel(self):
     """title"""      """title"""
   
       return self.decode(self.label)
     try:      try:
         return self.label.encode('utf-8','ignore')           return self.label.encode('utf-8','ignore') 
     except:      except:
Line 383  def checkOnlyOneInGroup(object): Line 395  def checkOnlyOneInGroup(object):
         return displayedObjects[0][1]          return displayedObjects[0][1]
     else:       return object      else:       return object
   
 def getSubCols(self, sortfield="weight", subColTypes=displayTypes, sortFieldMD=None):  def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None):
       
       
       def sort(x,y):
           return cmp(x[0],y[0])
   
     def sortfnc(sortfield,x,y):      def sortfnc(sortfield,x,y):
           try:
         xa=x[1].getMDValue(sortfield)          xa=x[1].getMDValue(sortfield)
           except:
               xa=""
           try:
         ya=y[1].getMDValue(sortfield)          ya=y[1].getMDValue(sortfield)
         #print xa,ya          except:
               ya=""
         return cmp(xa,ya)          return cmp(xa,ya)
           
     sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y))      sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y))
Line 398  def getSubCols(self, sortfield="weight", Line 419  def getSubCols(self, sortfield="weight",
           
     for entry in displayedObjects:      for entry in displayedObjects:
                           
               
             object=entry[1]              object=entry[1]
           if searchMD and hasattr(object,'getMDValue'):
               flag=0
               for field in searchMD.keys():
                   if object.getMDValue(field)==searchMD[field]:
                       flag=1
                   else:
                       flag=0
                       break
               if flag==1:
                   ids.append(object)
           else:
             ids.append(object)              ids.append(object)
   
         try:      if not sortfield:
             sortfield=self.sortfield              sortfield=getattr(self,'sortfield','weight')
         except:  
             """nothing"""  
                           
         tmplist=[]          tmplist=[]
   
         for x in ids:          for x in ids:
           
         if hasattr(x,sortfield):          if hasattr(x,sortfield):
             try:              try:
                 tmp=int(getattr(x,sortfield))                  tmp=int(getattr(x,sortfield))
Line 421  def getSubCols(self, sortfield="weight", Line 454  def getSubCols(self, sortfield="weight",
         tmplist.append((tmp,x))          tmplist.append((tmp,x))
   
     if not sortFieldMD:      if not sortFieldMD:
         tmplist.sort()          tmplist.sort(sort)
     else:      else:
         tmplist.sort(sortWithMD(sortFieldMD))          tmplist.sort(sortWithMD(sortFieldMD))
           
Line 461  def reloadMetaDataFromStorage(self,RESPO Line 494  def reloadMetaDataFromStorage(self,RESPO
         for resource in resources:          for resource in resources:
             x=str(resource[1].copyIndex_meta2echo_resource())+"<br>"              x=str(resource[1].copyIndex_meta2echo_resource())+"<br>"
             ret+=x              ret+=x
             #print x  
               
   
         if RESPONSE is not None:          if RESPONSE is not None:
             #RESPONSE.redirect('./manage_main')              #RESPONSE.redirect('./manage_main')
Line 660  def writeMetadata(url,metadict,project=N Line 691  def writeMetadata(url,metadict,project=N
     """Einlesen der Metadaten und und erstellen des geaenderten XML file"""      """Einlesen der Metadaten und und erstellen des geaenderten XML file"""
   
     def updateTextToolNode(tag,value):      def updateTextToolNode(tag,value):
         #print dom,tag,value  
         metanode=dom.getElementsByTagName('texttool')[0]          metanode=dom.getElementsByTagName('texttool')[0]
         try:          try:
             nodeOld=metanode.getElementsByTagName(tag)              nodeOld=metanode.getElementsByTagName(tag)
Line 804  def readMetadata(url): Line 835  def readMetadata(url):
         for node in metacontent:          for node in metacontent:
         try:          try:
             #print urllib.unquote(getText(node.childNodes)),getText(node.childNodes)              #print urllib.unquote(getText(node.childNodes)),getText(node.childNodes)
             metadict[re.sub('-','_',node.tagName.lower())]=urllib.unquote(getText(node.childNodes))              #metadict[re.sub('-','_',node.tagName.lower())]=urllib.unquote(getText(node.childNodes))
               metadict[re.sub('-','_',node.tagName.lower())]=getText(node.childNodes)
           
         except:          except:
             """nothing"""              """nothing"""
   

Removed from v.1.35  
changed lines
  Added in v.1.45


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