Diff for /ECHO_content/ECHO_collection.py between versions 1.133 and 1.143

version 1.133, 2004/07/01 15:11:04 version 1.143, 2004/07/18 14:38:11
Line 29  from Products.PageTemplates.ZopePageTemp Line 29  from Products.PageTemplates.ZopePageTemp
 from Globals import Persistent, package_home  from Globals import Persistent, package_home
 from Acquisition import Implicit  from Acquisition import Implicit
 from ECHO_helpers import displayTypes  from ECHO_helpers import displayTypes
   import urllib
   
 try:  try:
     from psycopg import libpq      from psycopg import libpq
Line 46  import xml.dom.minidom Line 46  import xml.dom.minidom
 from ECHO_graphicalOverview import javaHandler,javaScriptMain  from ECHO_graphicalOverview import javaHandler,javaScriptMain
 import ECHO_helpers  import ECHO_helpers
   
   def getRDFDescription(self,linkURL,urn=None):
           """rdf"""
           ret=""
           about="""<RDF:Description about="%s">"""
           name="""<ECHONAVIGATION:name>%s</ECHONAVIGATION:name>"""
           #link="""<ECHONAVIGATION:link>%s</ECHONAVIGATION:link>"""
           link="""<ECHONAVIGATION:link RDF:about="%s"/>"""
           type="""<ECHONAVIGATION:type>%s</ECHONAVIGATION:type>"""
   
           if not urn:
               urn="urn:"+re.sub('/',':',self.absolute_url())
   
           about2=about%urn
           
           if hasattr(self,'label') and not (self.label==""):
               name2=name%urllib.quote(self.label)
           elif not self.title=="":
               name2=name%urllib.quote(self.title)
           else:
               name2=name%self.getId()
               
           link2=link%urllib.quote(linkURL)
           type2=type%self.meta_type
           
           ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n</RDF:Description>"
           return ret
       
 def getCopyrightsFromForm(self,argv):  def getCopyrightsFromForm(self,argv):
     medias={}      medias={}
     partners={}      partners={}
Line 477  def manage_addECHO_layoutTemplate(self, Line 504  def manage_addECHO_layoutTemplate(self,
     REQUEST.RESPONSE.redirect(u+'/manage_main')      REQUEST.RESPONSE.redirect(u+'/manage_main')
     return ''      return ''
   
   
   
 class ECHO_resource(Folder,Persistent):  class ECHO_resource(Folder,Persistent):
     """ECHO Ressource"""      """ECHO Ressource"""
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
Line 486  class ECHO_resource(Folder,Persistent): Line 515  class ECHO_resource(Folder,Persistent):
   
     getSubCols = ECHO_helpers.getSubCols      getSubCols = ECHO_helpers.getSubCols
   
       security.declareProtected('View','index_html')
       def getRDF(self,urn=None):
           """rdf"""
           return getRDFDescription(self,self.link,urn=urn)
           
           
     def getAccessRightSelectorHTML(self,outlook="select"):      def getAccessRightSelectorHTML(self,outlook="select"):
         """htmlselector"""          """htmlselector"""
         values=['free','mpiwg']          values=['free','mpiwg']
Line 650  class ECHO_resource(Folder,Persistent): Line 685  class ECHO_resource(Folder,Persistent):
   
         path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server          path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
         path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server          path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',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('/index.meta','',path)           path=re.sub('/index.meta','',path) 
   
   
Line 710  class ECHO_resource(Folder,Persistent): Line 746  class ECHO_resource(Folder,Persistent):
         path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server          path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
         path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server          path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',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
   
         return urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()          return urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
   
Line 719  class ECHO_resource(Folder,Persistent): Line 757  class ECHO_resource(Folder,Persistent):
           
     def getTitle(self):      def getTitle(self):
     """title"""      """title"""
     return self.title.decode('utf-8','ignore')       try:
           return self.title.encode('utf-8','ignore') 
       except:
           self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error
           return self.title.encode('utf-8','ignore') 
   
     def getLabel(self):      def getLabel(self):
     """title"""      """title"""
     return self.label.decode('utf-8','ignore')       try:
           return self.label.encode('utf-8','ignore') 
       except:
           self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error
           return self.label.encode('utf-8','ignore') 
   
     def content_html(self):      def content_html(self):
         """template fuer content"""          """template fuer content"""
Line 743  class ECHO_resource(Folder,Persistent): Line 789  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)
             self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')              
             if not noredirect:              if not noredirect:
                               self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')  
                 self.REQUEST.RESPONSE.redirect(texturl)                  self.REQUEST.RESPONSE.redirect(texturl)
             else:              else:
                 return texturl                  return texturl
Line 1329  class ECHO_externalLink(Folder): Line 1376  class ECHO_externalLink(Folder):
   
     def getTitle(self):      def getTitle(self):
     """title"""      """title"""
     return self.title.encode('utf-8')       try:
           return self.title.encode('utf-8','ignore') 
       except:
           self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error
           return self.title.encode('utf-8','ignore') 
   
     def getLabel(self):      def getLabel(self):
     """title"""      """title"""
     return self.label.encode('utf-8')       try:
           return self.label.encode('utf-8','ignore') 
       except:
           self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error
           return self.label.encode('utf-8','ignore') 
   
     def content_html(self):      def content_html(self):
         """template fuer content"""          """template fuer content"""
Line 1452  class ECHO_collection(Folder, Persistent Line 1507  class ECHO_collection(Folder, Persistent
   
     path="/mpiwg/online/permanent/shipbuilding"      path="/mpiwg/online/permanent/shipbuilding"
   
       def showRDF(self):
           """showrdf"""
               self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
           ret="""<?xml 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.getRDF(urn="urn:echo:collectionroot")+"\n"
           ret+="""</RDF:RDF>"""
               return ret 
   
       def getRDF(self,urn=None):
           """rdf of the collection"""
   
           contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
   
           ret=getRDFDescription(self,self.absolute_url(),urn=urn)
   
           if not urn:
               urn="urn:"+re.sub('/',':',self.absolute_url())
          
           li="""<RDF:li resource="%s" />\n"""
   
           
           for content in contents:
               ret+=content[1].getRDF()+"\n"
               
           ret+="""<RDF:Seq about="%s">\n"""%urn
           for content in contents:
               nurn="urn:"+re.sub('/',':',content[1].absolute_url())
               ret+=li%nurn
           return ret+"</RDF:Seq>"
           
           
     def changeLabels(self):      def changeLabels(self):
         """change form"""          """change form"""
         pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self)
Line 1662  class ECHO_collection(Folder, Persistent Line 1748  class ECHO_collection(Folder, Persistent
   
     def getTitle(self):      def getTitle(self):
     """title"""      """title"""
     return self.title.encode('utf-8')       try:
           return self.title.encode('utf-8','ignore') 
       except:
           self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error
           return self.title.encode('utf-8','ignore') 
   
     def getLabel(self):      def getLabel(self):
     """title"""      """title"""
     return self.label.encode('utf-8')       try:
           return self.label.encode('utf-8','ignore') 
           except:
           self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error
           return self.label.encode('utf-8','ignore')
                   
     def createRessourcesFromXMLForm(self):      def createRessourcesFromXMLForm(self):
         """form"""          """form"""
Line 1689  class ECHO_collection(Folder, Persistent Line 1781  class ECHO_collection(Folder, Persistent
             ret+="<p>"+label+"</p>"              ret+="<p>"+label+"</p>"
             manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","")              manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","")
         return ret          return ret
       
     def getImageTag(self):      def getImageTag(self):
         """GetTag"""          """GetTag"""
         try:          try:
Line 2147  class ECHO_group(ECHO_collection): Line 2240  class ECHO_group(ECHO_collection):
         )          )
           
     security.declareProtected('View','index_html')      security.declareProtected('View','index_html')
   
       def getRDF(self,urn=None):
           """rdf of the collection"""
           contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
   
           ret=getRDFDescription(self,self.absolute_url(),urn)
   
           
   
           urn="urn:"+re.sub('/',':',self.absolute_url())
           li="""<RDF:li resource="%s" />\n"""
           
           
           for content in contents:
               ret+=content[1].getRDF()+"\n"
               
           ret+="""<RDF:Seq about="%s">\n"""%urn
           for content in contents:
               nurn="urn:"+re.sub('/',':',content[1].absolute_url())
               ret+=li%nurn
           return ret+"</RDF:Seq>"
           
     def index_html(self):      def index_html(self):
         """standard page"""          """standard page"""
         displayedObjects=self.ZopeFind(self,obj_metatypes=displayTypes)          displayedObjects=self.ZopeFind(self,obj_metatypes=displayTypes)
Line 2363  class ECHO_root(Folder,Persistent,Implic Line 2478  class ECHO_root(Folder,Persistent,Implic
           
     meta_type="ECHO_root"      meta_type="ECHO_root"
   
       def showRDF(self):
           """showrdf"""
               self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
           ret="""<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  xmlns:ECHONAVIGATION="http://www.echo.eu/rdf#">\n"""
           ret+=self.getRDF(urn="echo:collectionroot")+"\n"
   
           ret+="""</RDF:RDF>"""
               return ret
   
       def getRDF(self,urn=None):
           """rdf of the collection"""
   
           contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
   
           ret=getRDFDescription(self,self.absolute_url(),urn=urn)
           
           li="""<RDF:li resource="%s" />\n"""
   
           
           for content in contents:
               ret+=content[1].getRDF()+"\n"
               
           ret+="""<RDF:Seq about="%s">\n"""%urn
           for content in contents:
               nurn="urn:"+re.sub('/',':',content[1].absolute_url())
               ret+=li%nurn
           return ret+"</RDF:Seq>"
           
   
     def showContent(self,path):      def showContent(self,path):
         """return content/html"""          """return content/html"""
                   
Line 2815  class ECHO_root(Folder,Persistent,Implic Line 2959  class ECHO_root(Folder,Persistent,Implic
         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 resource[1].getFullTextXML(noredirect="yes"):              
                 if hasattr(resource[1],'link'):                  if hasattr(resource[1],'link'):
                     viewer_url=echo_url+"/getMetaDataXML"                  meta_url=echo_url+"/getMetaDataXML"
                 else:                  else:
                     viewer_url="NO URL"                  meta_url="NO_URL"
                 if filter:                  
                     if re.search(filter,viewer_url):              if filter and not re.search(filter,viewer_url):
                         ret+="""\n<resource echoLink="%s" viewerLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?'))                  continue
                 else:  
                     ret+="""\n<resource echoLink="%s" viewerLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?'))              ret+="""\n<resource resourceLink="%s" metaLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?'))
                   
         ret +="""\n</index>"""          ret +="""\n</index>"""
                   
                   

Removed from v.1.133  
changed lines
  Added in v.1.143


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