Diff for /ECHO_content/ECHO_collection.py between versions 1.170 and 1.174

version 1.170, 2004/09/27 19:55:08 version 1.174, 2004/10/05 09:30:46
Line 32  from Acquisition import Implicit Line 32  from Acquisition import Implicit
 from ECHO_helpers import displayTypes  from ECHO_helpers import displayTypes
 import urllib  import urllib
 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 396  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 427  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 1028  class ECHO_resource(Folder,Persistent): Line 1038  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 1091  class ECHO_resource(Folder,Persistent): Line 1102  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 1135  class ECHO_resource(Folder,Persistent): Line 1147  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 2089  class ECHO_collection(Folder, Persistent Line 2103  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 2278  class ECHO_collection(Folder, Persistent Line 2292  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 2285  class ECHO_collection(Folder, Persistent Line 2304  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 3507  class ECHO_root(Folder,Persistent,Implic Line 3526  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:              for link in links:
                 link.tagName="a"                  #link.tagName="a"
                 ref=link.getAttribute("ref")          
         pn=link.getAttribute("page")                  ref=link.getAttributeNS(EMPTY_NAMESPACE,"ref")
           pn=link.getAttributeNS(EMPTY_NAMESPACE,"page")
           cns=link.childNodes
   
           newLink=dom.createElementNS(EMPTY_NAMESPACE,"a")
           for cn in cns:
               newLink.appendChild(cn)
           
           link.parentNode.replaceChild(newLink,link)
                 if self.checkRef(ref):                  if self.checkRef(ref):
             if pn:              if pn:
                 link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref+"&p="+pn)                  newLink.setAttributeNS(EMPTY_NAMESPACE,"href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref+"&p="+pn)
             else:              else:
                 link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)                  newLink.setAttributeNS(EMPTY_NAMESPACE,"href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)
   
             str= dom.toxml()  
                   
               #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):
Line 3568  class ECHO_root(Folder,Persistent,Implic Line 3601  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>"
           

Removed from v.1.170  
changed lines
  Added in v.1.174


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