Diff for /ECHO_content/ECHO_collection.py between versions 1.166 and 1.177

version 1.166, 2004/08/28 01:06:03 version 1.177, 2004/10/13 14:55:15
Line 31  from Globals import Persistent, package_ Line 31  from Globals import Persistent, package_
 from Acquisition import Implicit  from Acquisition import Implicit
 from ECHO_helpers import displayTypes  from ECHO_helpers import displayTypes
 import urllib  import urllib
   import smtplib
 import time  import time
   from Ft.Xml.Domlette import NonvalidatingReader
   from Ft.Xml.Domlette import PrettyPrint
   from Ft.Xml import EMPTY_NAMESPACE
   
   import Ft.Xml.XPath
   import cStringIO
   
 try:  try:
     from psycopg import libpq      from psycopg import libpq
Line 390  def writeMetadata(url,metadict,project=N Line 397  def writeMetadata(url,metadict,project=N
                 metanode.removeChild(nodeOld[0]).unlink()                  metanode.removeChild(nodeOld[0]).unlink()
   
         metanodeneu=dom.createElement(metaData)          metanodeneu=dom.createElement(metaData)
         try:                  metanodetext=dom.createTextNode(metadict[metaData])
             metanodetext=dom.createTextNode(unicode(metadict[metaData],"utf-8"))          #try:
         except:              #metanodetext=dom.createTextNode(unicode(metadict[metaData],"utf-8"))
             metanodetext=dom.createTextNode(metadict[metaData].encode('utf-8'))          #except:
               #metanodetext=dom.createTextNode(metadict[metaData].encode('utf-8'))
         metanodeneu.appendChild(metanodetext)          metanodeneu.appendChild(metanodetext)
         metanode.appendChild(metanodeneu)          metanode.appendChild(metanodeneu)
   
Line 420  def writeMetadata(url,metadict,project=N Line 428  def writeMetadata(url,metadict,project=N
     if digiliburlprefix:      if digiliburlprefix:
         updateTextToolNode('digiliburlprefix',digiliburlprefix)          updateTextToolNode('digiliburlprefix',digiliburlprefix)
           
           try:    
     return dom.toxml().encode('utf-8')      return dom.toxml().encode('utf-8')
       except:
        return dom.toxml('utf-8')
   
           
           
Line 520  class ECHO_copyright(Folder): Line 531  class ECHO_copyright(Folder):
         {'label':'Main Config','action':'ECHO_copyright_configForm'},          {'label':'Main Config','action':'ECHO_copyright_configForm'},
         )          )
   
   
     def ECHO_copyright_configForm(self):      def ECHO_copyright_configForm(self):
         """change form"""          """change form"""
         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_copyright').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_copyright').__of__(self)
Line 1027  class ECHO_resource(Folder,Persistent): Line 1039  class ECHO_resource(Folder,Persistent):
             path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server              path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server
         path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server          path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server
         path=re.sub('http://vision.rz-berlin.mpg.de','',path) # falls vision als server          path=re.sub('http://vision.rz-berlin.mpg.de','',path) # falls vision als server
           path=re.sub('http://echo.mpiwg-berlin.mpg.de','',path) # falls echo
         path=re.sub('/index.meta','',path)           path=re.sub('/index.meta','',path) 
   
   
Line 1090  class ECHO_resource(Folder,Persistent): Line 1103  class ECHO_resource(Folder,Persistent):
         path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server          path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server
         path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server          path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server
         path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server          path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server
           path=re.sub('http://echo.mpiwg-berlin.mpg.de','',path) # falls echo
   
         path=re.sub('http://vision.rz-berlin.mpg.de','',path) # falls vision als server          path=re.sub('http://vision.rz-berlin.mpg.de','',path) # falls vision als server
   
Line 1134  class ECHO_resource(Folder,Persistent): Line 1148  class ECHO_resource(Folder,Persistent):
             texttools=dom.getElementsByTagName('texttool')              texttools=dom.getElementsByTagName('texttool')
             text=texttools[0].getElementsByTagName('text')              text=texttools[0].getElementsByTagName('text')
             texturl=getText(text[0].childNodes)              texturl=getText(text[0].childNodes)
                           if not (texturl.split(":")[0] in ['http','ftp','file']): 
                       texturl=re.sub("//","/",texturl)    
               #return texturl+"::"+texturl.split(":")[0]
             if not noredirect:              if not noredirect:
                             self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')                                self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')  
                 self.REQUEST.RESPONSE.redirect(texturl)                  self.REQUEST.RESPONSE.redirect(texturl)
Line 2088  class ECHO_collection(Folder, Persistent Line 2104  class ECHO_collection(Folder, Persistent
         pt=PageTemplateFile('Products/ECHO_content/zpt/changeViewerTemplateSet').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/changeViewerTemplateSet').__of__(self)
             return pt()              return pt()
   
     def getViewerTemplateSets(self,obj_ids=None):      def getViewerTemplateSets(self,obj_ids=None,RESPONSE=None):
         """Get the ViewerTemplateSet title for configuration"""          """Get the ViewerTemplateSet title for configuration"""
         ret=[]          ret=[]
                   
Line 2277  class ECHO_collection(Folder, Persistent Line 2293  class ECHO_collection(Folder, Persistent
     def getCollectionTreeXML(self):      def getCollectionTreeXML(self):
         """Tree as XML"""          """Tree as XML"""
   
       def addPassWd(str):
           """adds a user/passwd to an url"""
           txt2=re.sub(r"(http://)(.*?)","\g<1>www:3333@\g<2>",str)
           return txt2
   
         def getCollection(object,depth=0):          def getCollection(object,depth=0):
             depth+=1              depth+=1
             collections=""              collections=""
Line 2284  class ECHO_collection(Folder, Persistent Line 2305  class ECHO_collection(Folder, Persistent
                 element=getattr(object,entry)                  element=getattr(object,entry)
                 try:                  try:
                     if element.meta_type in ["ECHO_collection","ECHO_group"]:                      if element.meta_type in ["ECHO_collection","ECHO_group"]:
                         collections+="<element name=\""+quote(element.title)+"\" url=\""+element.absolute_url()+"\">"                          collections+="<element name=\""+quote(element.title)+"\" url=\""+addPassWd(element.absolute_url())+"\">"
                         collections+=getCollection(element,depth)+"</element>\n"                          collections+=getCollection(element,depth)+"</element>\n"
                 except:                  except:
                     """nothing"""                      """nothing"""
Line 2541  class ECHO_collection(Folder, Persistent Line 2562  class ECHO_collection(Folder, Persistent
         else:          else:
             return "#dddddd"              return "#dddddd"
                   
     def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",viewClassification=None,location=None):      def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",viewClassification=None,location=None,isAlwaysClickable=None):
         """Aenderung der Properties"""          """Aenderung der Properties"""
   
         self.secondaryLink=secondaryLink          self.secondaryLink=secondaryLink
Line 2550  class ECHO_collection(Folder, Persistent Line 2571  class ECHO_collection(Folder, Persistent
     self.bgcolour=bgcolour      self.bgcolour=bgcolour
         self.viewClassification=viewClassification          self.viewClassification=viewClassification
         self.location=location          self.location=location
       self.isAlwaysClickable=isAlwaysClickable
           
         if coords:          if coords:
             coordsnew=[ string.split(x,",") for x in coords]              coordsnew=[ string.split(x,",") for x in coords]
Line 2569  class ECHO_collection(Folder, Persistent Line 2591  class ECHO_collection(Folder, Persistent
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
                           
       def setAlwaysClickable(self,flag="yes"):
           """set clickable"""
           if flag=="yes":
               self.isAlwaysClickable="yes"
           else:
               self.isAlwaysClickable=None
   
           return flag
   
     def showOverview(self):      def showOverview(self):
         """overview"""          """overview"""
Line 2941  def manage_addECHO_userFolderForm(self): Line 2971  def manage_addECHO_userFolderForm(self):
     """add a user folder form"""      """add a user folder form"""
     return manage_addECHO_userFolder(self)      return manage_addECHO_userFolder(self)
   
 def getEdges(seqs,urn):  
     """edges"""  
     ret=[]  
     #print urn,seqs  
     for seqsList in seqs[urn]:  
                   
         try:  
             for seq in seqsList:  
                 ret+=seq.getElementsByTagName("RDF:li")  
         except:  
                 ret+=seqsList.getElementsByTagName("RDF:li")  
     return ret  
   
 def createSubs(self,seqs,descrs,urn):  def createNode(self,descrs,node):
     """create subs"""  
     for edge in getEdges(seqs,urn):  
         cn=createNode(self,descrs[edge.getAttribute('RDF:resource')])  
         if cn[0]=="CDLI_group":  
             #print "HHHHHH",cn[1],seqs,descrs,cn[2]  
             createSubs(cn[1],seqs,descrs,cn[2])  
 def getEdges2(seqs,urn):  
     """edges"""  
     ret=[]  
     #print urn,seqs  
   
     return seqs[urn]  
   
 def createSubs2(self,seqs,descrs,urn,level=0):  
     """create subs"""  
       
     for edge in getEdges2(seqs,urn):  
         print "urnXX",urn.encode('utf-8'),level  
         cn=createNode2(self,descrs,edge)  
         if cn[0]=="CDLI_group":  
   
             createSubs2(cn[1],seqs,descrs,cn[2],level+1)  
             print "urnddonesubs",urn.encode('utf-8')  
         print "urndonenode",urn.encode('utf-8')  
     return  
   
 def createNode2(self,descrs,node):  
     name=descrs[node]['name']      name=descrs[node]['name']
     type=descrs[node]['type']      type=descrs[node]['type']
     urn=node      urn=node
     print "    will create",node.encode('utf-8')      #print "    will create",node.encode('utf-8')
     id=re.sub('[^a-zA-Z0-9]','',name).encode('ascii','ignore')      id=re.sub('[^a-zA-Z0-9]','',name).encode('ascii','ignore')
     #print "id",id      #print "id",id
     #print type      #print type
Line 3012  def createNode2(self,descrs,node): Line 3004  def createNode2(self,descrs,node):
                   
     return "XX"      return "XX"
   
 def createNode(self,nodes):  
     for node in nodes:  
         name=getTextFromNode(node.getElementsByTagName("ECHONAVIGATION:name")[0])  
         type=getTextFromNode(node.getElementsByTagName("ECHONAVIGATION:type")[0])  
         urn=node.getAttribute("RDF:about")  
           
         id=re.sub('[^a-zA-Z0-9]','',name).encode('ascii','ignore')  
         #print "id",id  
         #print type  
         self.REQUEST.RESPONSE.write("<p>%s</p>\n"%id)  
         if type=="CDLI_group":  
             print self.getId()  
           
             manage_addECHO_collection(self,id,name,name,"","","","","")  
             print "done::::",getattr(self,id)  
             return type,getattr(self,id),urn  
   
         if type=="CDLI_item":  
             manage_addECHO_resource(self,id,name,name,"","",urn,"","")  
         return "XX"  
           
           
   
 class ECHO_root(Folder,Persistent,Implicit):  class ECHO_root(Folder,Persistent,Implicit):
     """ECHO Root Folder"""      """ECHO Root Folder"""
Line 3042  class ECHO_root(Folder,Persistent,Implic Line 3012  class ECHO_root(Folder,Persistent,Implic
           
     meta_type="ECHO_root"      meta_type="ECHO_root"
   
       ###CDLI adds -> have to be removed
     def getTablet(self,item):      def getTablet(self,item):
         print "getTablet"          #print "getTablet"
       try:
         read=urllib.urlopen("http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"%item).read()          read=urllib.urlopen("http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"%item).read()
         print "gotTablet"  
         read=re.sub("\[search\]","search",read)          read=re.sub("\[search\]","search",read)
         print "reggotTablet"  
         return read[read.find("<body>")+6:read.rfind("</body>")]          return read[read.find("<body>")+6:read.rfind("</body>")]
       except:
           return "<h1>Sorry no connection to the data server enlil.museum.upenn.edu</h1>"
       #return "http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"
       ###END CDLI add
   
       def sendForm(self,fromaddr,content,server='mail.mpiwg-berlin.mpg.de'):
           """sendform"""
           toaddrs=["dwinter@mpiwg-berlin.mpg.de"]
           
           msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n"
              % (fromaddr, ", ".join(toaddrs),"testsub"))
           server = smtplib.SMTP(server)
           #server.set_debuglevel(1)
           msg=msg+content
           server.sendmail(fromaddr, toaddrs, msg)
           server.quit()
            
       def generateFromRDFForm(self):
           """change form"""
           pt=PageTemplateFile('Products/ECHO_content/zpt/generateFromRDFForm').__of__(self)
           pt.content_type="text/html"
           return pt()
   
       def generateFromRDF(self,file,startNode="/Cuneiform Corpus"):
   
           """generate from RDF"""
   
     def generateFromRDF2(self):  
         """generate from RDF2"""  
         global seqs          global seqs
         seqs={}          seqs={}
         global descrs          global descrs
Line 3060  class ECHO_root(Folder,Persistent,Implic Line 3054  class ECHO_root(Folder,Persistent,Implic
         key=""          key=""
         global value          global value
         value=""          value=""
   
           def getEdges(seqs,urn):
               """edges"""
               ret=[]
               return seqs[urn]
   
           def createSubs(self,seqs,descrs,urn,level=0):
               """create subs"""
               for edge in getEdges(seqs,urn):
                   cn=createNode(self,descrs,edge)
                   if cn[0]=="CDLI_group":
                       createSubs(cn[1],seqs,descrs,cn[2],level+1)
               return
   
         def start_element(name,attrs):          def start_element(name,attrs):
   
             global seqs              global seqs
Line 3116  class ECHO_root(Folder,Persistent,Implic Line 3124  class ECHO_root(Folder,Persistent,Implic
         p.StartElementHandler = start_element          p.StartElementHandler = start_element
         p.EndElementHandler = end_element          p.EndElementHandler = end_element
         p.CharacterDataHandler = char_data          p.CharacterDataHandler = char_data
         fileName="/Users/dwinter/Documents/Projekte/CDLI/test11.rdf"  
                   
         p.ParseFile(file(fileName))          
           p.ParseFile(file)
         self.REQUEST.RESPONSE.write("<html><body><h1>Start</h1>")          self.REQUEST.RESPONSE.write("<html><body><h1>Start</h1>")
         createSubs2(self,seqs,descrs,"/Cuneiform Corpus")          createSubs(self,seqs,descrs,startNode)
         self.REQUEST.RESPONSE.write("<h1>done</h1></body></html>")          self.REQUEST.RESPONSE.write("<h1>done</h1></body></html>")
         print "done"          #print "done"
   
                   
         return "done"          return "done"
           
     def generateFromRDF(self):  
         """generate Structure from rdf"""  
         dom=xml.dom.minidom.parse("/Users/dwinter/Documents/Projekte/CDLI/test10.rdf")  
         seqs={}  
         descrs={}  
         for seq in dom.getElementsByTagName("RDF:Seq"):  
            key=seq.getAttribute('RDF:about')  
            try:  
                seqs[key].append(seq)  
            except:  
                seqs[key]=[seq]  
   
           
         for descr in dom.getElementsByTagName("RDF:Description"):  
            key=descr.getAttribute('RDF:about')  
            try:  
                descrs[key].append(descr)  
            except:  
                descrs[key]=[descr]  
         createSubs(self,seqs,descrs,"echo:collectionroot")  
                   
                   
                   
Line 3176  class ECHO_root(Folder,Persistent,Implic Line 3164  class ECHO_root(Folder,Persistent,Implic
         {'label':'Main Config','action':'ECHO_copyright_configForm'},          {'label':'Main Config','action':'ECHO_copyright_configForm'},
         {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},          {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
         {'label':'Change Weights','action':'changeWeights'},          {'label':'Change Weights','action':'changeWeights'},
           {'label':'Generate from RDF','action':'generateFromRDFForm'},
   
         )          )
   
           
Line 3442  class ECHO_root(Folder,Persistent,Implic Line 3432  class ECHO_root(Folder,Persistent,Implic
                                   
         return "changed all contenttypes in: "+self.title          return "changed all contenttypes in: "+self.title
           
       def deleteCache(self,obj=None,RESPONSE=None):
     def setCache(self,obj=None,RESPONSE=None):  
         """setze alle collections auf cache = CacheManager"""          """setze alle collections auf cache = CacheManager"""
   
   
         if not obj:          if not obj:
             obj = self              obj = self
                           
         entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_collection'],search_sub=1)          entries=obj.ZopeFind(obj,search_sub=1)
   
         for entry in entries:          for entry in entries:
             print entry[0]          if hasattr(entry[1],'_v_hash'):
             entry[1].ZCacheable_setManagerId('CacheManager')              entry[1]._v_hash=None
               
   
   
                   
         return "changed all CM in: "+self.title          return "changed all CM 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 3525  class ECHO_root(Folder,Persistent,Implic Line 3518  class ECHO_root(Folder,Persistent,Implic
             for link in links:              for link in links:
                 link.tagName="a"                  link.tagName="a"
                 ref=link.getAttribute("ref")                  ref=link.getAttribute("ref")
           pn=link.getAttribute("page")
               
                 if self.checkRef(ref):                  if self.checkRef(ref):
               if pn:
                   link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref+"&p="+pn)
               else:
                     link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)                      link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)
   
   
             newxml=dom.toxml('utf-8')              newxml=dom.toxml('utf-8')
               
         retStr=regexpTXT.search(newxml)          retStr=regexpTXT.search(newxml)
Line 3539  class ECHO_root(Folder,Persistent,Implic Line 3538  class ECHO_root(Folder,Persistent,Implic
   
     def xml2html(self,str,quote="yes"):      def xml2html(self,str,quote="yes"):
         """link2html fuer VLP muss hier noch raus"""          """link2html fuer VLP muss hier noch raus"""
     print str  
         if str:          if str:
             if quote=="yes2":              if quote=="yes2":
                 str=re.sub("\&","&amp;",str)                  str=re.sub("\&","&amp;",str)
             dom=xml.dom.minidom.parseString(str)              #dom=xml.dom.minidom.parseString(str)
             links=dom.getElementsByTagName("link")          dom = NonvalidatingReader.parseString(str,"http://www.mpiwg-berlin.mpg.de/")
               #links=dom.getElementsByTagName("link")
               links=Ft.Xml.XPath.Evaluate(".//link", contextNode=dom)
               for link in links:
                   #link.tagName="a"
                           
                   ref=link.getAttributeNS(EMPTY_NAMESPACE,"ref")
           pn=link.getAttributeNS(EMPTY_NAMESPACE,"page")
   
             for link in links:          cns=link.childNodes[0:]
                 link.tagName="a"          
                 ref=link.getAttribute("ref")          newLink=dom.createElementNS(EMPTY_NAMESPACE,"a")
                 if self.checkRef(ref):          for x in cns:
                     link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)              newLink.appendChild(x)
   
             str= dom.toxml()  
                   
           
           link.parentNode.replaceChild(newLink,link)
                   if self.checkRef(ref):
               if pn:
                   newLink.setAttributeNS(EMPTY_NAMESPACE,"href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref+"&p="+pn)
               else:
                   newLink.setAttributeNS(EMPTY_NAMESPACE,"href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)
   
               #str= dom.toxml('utf-8')
           buf = cStringIO.StringIO()
           PrettyPrint(dom, stream=buf, encoding='UTF-8')
           str = buf.getvalue()
           buf.close()
           #str=PrettyPrint(dom.documentElement,encoding='UTF-8')
         #print link.toxml('utf-8')          #print link.toxml('utf-8')
           #print type(str)
         retStr=regexpPage.search(str)          retStr=regexpPage.search(str)
           try: # hack warum fehtl manchmal page??
         return retStr.group(1)          return retStr.group(1)
           except:
               return str
         return ""          return ""
   
     def checkRef(self,ref):      def checkRef(self,ref):
         dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':''}          if ref[0:3]=='lit':
               if len(self.library_data({ 'id':ref}))>0:
                   return 1
           try:
               if ref[0:7]=="tec_cat":
                   return 1
           except:
               """nothing"""
               
           dbs={'vl_technology':'','vl_people':'','vl_sites':''}
         res=None          res=None
         for db in dbs.keys():          for db in dbs.keys():
   
             res=res or self.search(var=str("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          return res
                                                                           
Line 3595  class ECHO_root(Folder,Persistent,Implic Line 3624  class ECHO_root(Folder,Persistent,Implic
     <partners>"""      <partners>"""
                   
     for partner in partners:      for partner in partners:
             ret+="""<partner id="%s" title="%s"/>\n"""%(partner.getId(),unicode(partner.title,'utf-8','replace'))              ret+="""<partner id="%s" title="%s"/>\n"""%(partner.getId(),partner.title)
   
         return ret+"\n</partners>"          return ret+"\n</partners>"
           
Line 3702  class ECHO_root(Folder,Persistent,Implic Line 3731  class ECHO_root(Folder,Persistent,Implic
   
     def getMetaDatasXML(self,viewerType=None,filter=None):      def getMetaDatasXML(self,viewerType=None,filter=None):
         """gebe all ressourcen aus"""          """gebe all ressourcen aus"""
           # check if the request's host part was OK
           http_host = self.REQUEST['HTTP_HOST']
           host_port = self.REQUEST['SERVER_PORT']
           fix_host = None
           if http_host and http_host.rfind(host_port) == -1:
               print "HTTP_HOST needs fixing!"
               fix_host = http_host + ":" + host_port
   
         ret="""<?xml version="1.0" ?>          ret="""<?xml version="1.0" ?>
                  <index>"""                   <index>"""
         for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1):          for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1):
   
             echo_url=resource[1].absolute_url()              echo_url=resource[1].absolute_url()
               if fix_host:
                   #print "replacing ", http_host, " by ", fix_host
                   echo_url = string.replace(echo_url, http_host, fix_host, 1)
                           
             if hasattr(resource[1],'link'):              if hasattr(resource[1],'link'):
                 meta_url=echo_url+"/getMetaDataXML"                  meta_url=echo_url+"/getMetaDataXML"
Line 3725  class ECHO_root(Folder,Persistent,Implic Line 3765  class ECHO_root(Folder,Persistent,Implic
                                   
         ret +="""\n</index>"""          ret +="""\n</index>"""
                   
           
         self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml")          self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml")
         self.REQUEST.RESPONSE.write(ret)          self.REQUEST.RESPONSE.write(ret)
   

Removed from v.1.166  
changed lines
  Added in v.1.177


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