Diff for /ECHO_content/ECHO_collection.py between versions 1.146 and 1.153

version 1.146, 2004/07/18 17:11:32 version 1.153, 2004/07/30 16:46:04
Line 30  from Globals import Persistent, package_ Line 30  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 time
   
 try:  try:
     from psycopg import libpq      from psycopg import libpq
Line 46  import xml.dom.minidom Line 47  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,nameDef=None):  def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']):
           """Rerender all Links"""
       ret=""
       
           if not obj:
               obj = self
               
           entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource'],search_sub=1)
   
           for entry in entries:
           if entry[1].meta_type == 'ECHO_resource':
               try:
                   entry[1].ECHO_getResourceMD(template="no")
                                   if "title" in types:
                                       entry[1].generate_title()
                                   if "label" in types:
                                       entry[1].generate_label()
                   ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"<br>"
               except:
                   ret+="Error:"+entry[0]+"<br>"
   
           
                   
                   
           return "<html><body>"+ret+"Rerenderd all links to resources in: "+self.title+"</html></body>"
   
   def reloadMetaDataFromStorage(self,RESPONSE=None):
           """copy metadata from the storage to ECHO"""
           ret=""
           resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1)
   
           for resource in resources:
               x=str(resource[1].copyIndex_meta2echo_resource())+"<br>"
               ret+=x
               #print x
               
   
           if RESPONSE is not None:
               #RESPONSE.redirect('./manage_main')
               return "<html><body>"+ret+"</html></body>"
   
           return ret
       
   def getRDFDescription(self,linkURL,urn=None,nameDef=None,typeName=None):
         """rdf"""          """rdf"""
           
         ret=""          ret=""
         about="""<RDF:Description about="%s">"""          about="""<RDF:Description RDF:about="%s">"""
         name="""<ECHONAVIGATION:name>%s</ECHONAVIGATION:name>"""          name="""<ECHONAVIGATION:name>%s</ECHONAVIGATION:name>"""
         link="""<ECHONAVIGATION:link xlink:href="%s">%s</ECHONAVIGATION:link>"""          link="""<ECHONAVIGATION:link xlink:href="%s">%s</ECHONAVIGATION:link>"""
           clickable="""<ECHONAVIGATION:linkClickable>%s</ECHONAVIGATION:linkClickable>"""
         #link="""<ECHONAVIGATION:link RDF:about="%s"/>"""          #link="""<ECHONAVIGATION:link RDF:about="%s"/>"""
         type="""<ECHONAVIGATION:type>%s</ECHONAVIGATION:type>"""          type="""<ECHONAVIGATION:type>%s</ECHONAVIGATION:type>"""
             #xlink="""<ECHONAVIGATION:xlink xlink:href="%s"/>"""                  #xlink="""<ECHONAVIGATION:xlink xlink:href="%s"/>"""    
         if not urn:          if not urn:
             urn="urn:"+re.sub('/',':',self.absolute_url())              #urn="urn:"+re.sub('/',':',self.absolute_url())
               urn=self.absolute_url()
         about2=about%urn          about2=about%urn
         if not nameDef:          if not nameDef:
             if hasattr(self,'label') and not (self.label==""):              if hasattr(self,'label') and not (self.label==""):
Line 74  def getRDFDescription(self,linkURL,urn=N Line 120  def getRDFDescription(self,linkURL,urn=N
         linkURL=re.sub('http:','',linkURL)          linkURL=re.sub('http:','',linkURL)
         linkURL2=re.sub('&','&amp;',linkURL)          linkURL2=re.sub('&','&amp;',linkURL)
         link2=link%(("http:"+linkURL2),("http:"+urllib.quote(linkURL)))          link2=link%(("http:"+linkURL2),("http:"+urllib.quote(linkURL)))
           clickable2=clickable%"true"
   
           if not typeName:
         type2=type%self.meta_type          type2=type%self.meta_type
           else:
               type2=type%typeName
                   
         ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n"+"\n</RDF:Description>"          #ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n"+clickable2+"\n</RDF:Description>"
           ret=about2+"\n"+name2+"\n"+type2+"\n"+clickable2+"\n</RDF:Description>"
         return ret          return ret
           
 def getCopyrightsFromForm(self,argv):   def getCopyrightsFromForm(self,argv): 
Line 220  class BrowserCheck: Line 271  class BrowserCheck:
   
   
                   
 def writeMetadata(url,metadict,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None):  def writeMetadata(url,metadict,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None,xmlfrag=None):
     """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          #print dom,tag,value
Line 238  def writeMetadata(url,metadict,project=N Line 289  def writeMetadata(url,metadict,project=N
         node.appendChild(nodetext)          node.appendChild(nodetext)
         metanode.appendChild(node)          metanode.appendChild(node)
   
                   if xmlfrag:
           geturl="""<?xml version="1.0" ?>
                              <resource type="MPIWG">
                  <meta>
                   <bib type="Book">
                           </bib>
                   </meta>
                   </resource>"""
           dom=xml.dom.minidom.parseString(geturl)
       else:
     try:      try:
         geturl=""          geturl=""
         for line in urllib.urlopen(url).readlines():          for line in urllib.urlopen(url).readlines():
Line 253  def writeMetadata(url,metadict,project=N Line 313  def writeMetadata(url,metadict,project=N
     except:      except:
         return (None,"Cannot parse: "+url+"<br>"+geturl)          return (None,"Cannot parse: "+url+"<br>"+geturl)
   
       
   
     metanodes=dom.getElementsByTagName('bib')      metanodes=dom.getElementsByTagName('bib')
   
     if not metanodes:      if not metanodes:
Line 536  class ECHO_resource(Folder,Persistent): Line 598  class ECHO_resource(Folder,Persistent):
     def getRDF(self,urn=None):      def getRDF(self,urn=None):
         """rdf"""          """rdf"""
         ret=getRDFDescription(self,self.link,urn=urn)          ret=getRDFDescription(self,self.link,urn=urn)
         return ret+self.createSubElementRDF()           return ret+self.createSubElementRDF(urn=urn) 
   
   
     def createSubElementRDF(self):      def createSubElementRDF(self,urn=None):
         """rdf list"""          """rdf list"""
         urn="urn:"+re.sub('/',':',self.absolute_url())           if not urn:
               urn=self.absolute_url()
         ret=""          ret=""
   
         rettemp="""<RDF:Seq about="%s">\n"""%urn          rettemp="""<RDF:Seq RDF:about="%s">\n"""%urn
         flag=0          flag=0
                   
         li="""<RDF:li resource="%s" />\n"""          li="""<RDF:li RDF:resource="%s" />\n"""
         if not ('<error>' in self.getFullTextXML(noredirect='Yes')):          if not ('<error>' in self.getFullTextXML(noredirect='Yes')):
             nurn="urn:"+re.sub('/',':',self.absolute_url()+'/getFullTextXML')              nurn=self.absolute_url()+'/getFullTextXML'
             rettemp+=li%nurn              rettemp+=li%nurn
             flag=1              flag=1
           if not ('<error>' in self.getImageView(noredirect='Yes')):
               nurn=self.absolute_url()+'/getImageView'
               rettemp+=li%nurn
               flag=1
   
   
           if not ('<error>' in self.showMetaDataXML()):
               nurn=self.absolute_url()+'/showMetaDataXML'
               rettemp+=li%nurn
               flag=1
               
         rettemp+="</RDF:Seq>"          rettemp+="</RDF:Seq>"
   
         if flag==1:          if flag==1:
             ret+=rettemp              ret+=rettemp
                           
         if not ('<error>' in self.getFullTextXML(noredirect='Yes')):          if not ('<error>' in self.getFullTextXML(noredirect='Yes')):
             ret+=getRDFDescription(self,self.absolute_url()+'/getFullTextXML',urn=self.absolute_url()+'/getFullTextXML',nameDef="Fulltext")                      nurn=self.absolute_url()+'/getFullTextXML'  
               ret+=getRDFDescription(self,self.absolute_url()+'/getFullTextXML',urn=nurn,nameDef="Fulltext",typeName="ECHO_fulltext")
   
           if not ('<error>' in self.getImageView(noredirect='Yes')):
                       nurn=self.absolute_url()+'/getImageView'
               ret+=getRDFDescription(self,self.absolute_url()+'/getImageView',urn=nurn,nameDef="Image View",typeName="ECHO_imageview")
               
           if not ('<error>' in self.showMetaDataXML()):
                       nurn=self.absolute_url()+'/showMetaDataXML'
               ret+=getRDFDescription(self,self.absolute_url()+'/showMetaDataXML',urn=nurn,nameDef="Metadata",typeName="ECHO_metaData")
   
         return ret          return ret
                   
Line 579  class ECHO_resource(Folder,Persistent): Line 662  class ECHO_resource(Folder,Persistent):
         else:          else:
             ret=""              ret=""
             for value in values:              for value in values:
                 print                  
                 if value==self.getAccessRightMD():                  if value==self.getAccessRightMD():
                     ret+="""<input type="radio" name="%s" value="%s" checked>%s"""%(self.getId(),value,value)                      ret+="""<input type="radio" name="%s" value="%s" checked>%s"""%(self.getId(),value,value)
                 else:                  else:
Line 844  class ECHO_resource(Folder,Persistent): Line 927  class ECHO_resource(Folder,Persistent):
             else:              else:
                 return "<error>no fulltext available</error>"                  return "<error>no fulltext available</error>"
   
   
       def getImageView(self,noredirect=None):
           """getImages; give Imageviewr  and <error></error> if somthing goes wrong."""
           try:
               fh=urllib.urlopen(self.metalink)
               dom=xml.dom.minidom.parse(fh)
               texttools=dom.getElementsByTagName('texttool')
               text=texttools[0].getElementsByTagName('image')
               imagetemp=getText(text[0].childNodes)
               
               text=dom.getElementsByTagName('archive-path')
               archivepath=getText(text[0].childNodes)
               archivepath=re.sub('/mpiwg/online/','',archivepath) 
               imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp
               if not noredirect:
                               self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')  
                   self.REQUEST.RESPONSE.redirect(imageurl)
               else:
                   return imageurl
           except:
   
               if not noredirect:
                   self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
                   self.REQUEST.RESPONSE.write("<error>no fulltext available</error>")
               else:
                   return "<error>no images available</error>"
   
       
     def getCopyrightsHTML(self):      def getCopyrightsHTML(self):
         """gib (link auf copyright link, mediatyp, institution, copyrightType, label von copyrightType) aus"""          """gib (link auf copyright link, mediatyp, institution, copyrightType, label von copyrightType) aus"""
                   
Line 854  class ECHO_resource(Folder,Persistent): Line 965  class ECHO_resource(Folder,Persistent):
             return "ERROR"              return "ERROR"
         ret=[]          ret=[]
                   
         for copyright in obj.getCopyrights():          for copyright in obj.getCopyrights(): #copyright - media / partner / copyrightID
                           
             link="copyrightTypes/"+copyright[2]+'/copyright.html'  
                           
             try:              try:
                   if hasattr(self.copyrightTypes,copyright[2]):
                 copyrightTypeObj=getattr(self.copyrightTypes,copyright[2])                  copyrightTypeObj=getattr(self.copyrightTypes,copyright[2])
                        link="copyrightTypes/"+copyright[2]+'/copyright.html'
                   else:
                        copyrightTypeObj=getattr(obj,copyright[2])
                        link="copyrightModel/"+copyright[2]+'/copyright.html'
                        
                 label=copyrightTypeObj.label                  label=copyrightTypeObj.label
                 url=copyrightTypeObj.url                  url=getattr(copyrightTypeObj, 'url', '')
                                   
                 if url!='':                  if url!='':
                      ret.append((url,copyright[0],copyright[1],copyright[2],label))                       ret.append((url,copyright[0],copyright[1],copyright[2],label))
Line 1075  class ECHO_resource(Folder,Persistent): Line 1191  class ECHO_resource(Folder,Persistent):
         except:          except:
             return writeMetadata(self.metalink,self.metaDataHash,project,startpage,xslt,thumbtemplate,topbar,digiLibTemplate)              return writeMetadata(self.metalink,self.metaDataHash,project,startpage,xslt,thumbtemplate,topbar,digiLibTemplate)
   
       def showMetaDataXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None):
           """schreibe md"""
           
           try:
               
               return writeMetadata(self.metalink,self.metaDataHash,project,startpage,xslt,thumbtemplate,topbar,digiLibTemplate,xmlfrag="yes")
           except:
               return "<error> no metadata stored</error>"
       
     def getMetaDataXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None):      def getMetaDataXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None):
         """prints out metadata as stored in the echo environment, format is the index.meta format"""          """prints out metadata as stored in the echo environment, format is the index.meta format"""
         self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')          self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
Line 1284  class ECHO_resource(Folder,Persistent): Line 1409  class ECHO_resource(Folder,Persistent):
         self.metaDataHash={}          self.metaDataHash={}
         if not error=="": #Fehler beim Auslesen des Metafiles          if not error=="": #Fehler beim Auslesen des Metafiles
                           
             return "ERROR:",error              return "ERROR:",error,self.absolute_url()
                   
         self.contentType=metadict['bib_type'][0:]          self.contentType=metadict['bib_type'][0:]
         fields=self.findTagsFromMapping(self.contentType)          fields=self.findTagsFromMapping(self.contentType)
Line 1548  class ECHO_collection(Folder, Persistent Line 1673  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 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.getRDF(urn="echo:collectionroot")+"\n"  
   
         ret+="""</RDF:RDF>"""  
             return ret   
   
     def getRDF(self,urn=None):      def getRDF(self,urn=None):
         """rdf of the collection"""          """rdf of the collection"""
   
Line 1565  class ECHO_collection(Folder, Persistent Line 1681  class ECHO_collection(Folder, Persistent
         ret=getRDFDescription(self,self.absolute_url(),urn=urn)          ret=getRDFDescription(self,self.absolute_url(),urn=urn)
   
         if not urn:          if not urn:
             urn="urn:"+re.sub('/',':',self.absolute_url())              urn=self.absolute_url()
                 
         li="""<RDF:li resource="%s" />\n"""          li="""<RDF:li RDF:resource="%s" />\n"""
   
                   
         for content in contents:          for content in contents:
             ret+=content[1].getRDF()+"\n"              ret+=content[1].getRDF()+"\n"
                           
         ret+="""<RDF:Seq about="%s">\n"""%urn          ret+="""<RDF:Seq RDF:about="%s">\n"""%urn
         for content in contents:          for content in contents:
             nurn="urn:"+re.sub('/',':',content[1].absolute_url())              nurn=content[1].absolute_url()
             ret+=li%nurn              ret+=li%nurn
         return ret+"</RDF:Seq>"          return ret+"</RDF:Seq>"
                   
                   
       def showRDF(self):
           """showrdf"""
               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+=self.getRDF(urn="echo:collectionroot")+"\n"
   
           ret+="""</RDF:RDF>"""
           
               return ret 
   
        
     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 1719  class ECHO_collection(Folder, Persistent Line 1846  class ECHO_collection(Folder, Persistent
     def changeViewerTemplateSets(self,project,xslt,thumbtemplate,topbar,digiLibTemplate,RESPONSE=None):      def changeViewerTemplateSets(self,project,xslt,thumbtemplate,topbar,digiLibTemplate,RESPONSE=None):
         """change the templates"""          """change the templates"""
   
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])          resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1)
   
         for resource in resources:          for resource in resources:
   
Line 1729  class ECHO_collection(Folder, Persistent Line 1856  class ECHO_collection(Folder, Persistent
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
   
       def setStartpageFolderForm(self):
           """Form for changing the startpage"""
   
           
           pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resourceStartPageFolder.zpt').__of__(self)
               pt.content_type="text/html"
               return pt()
       
       def setStartpageFolder(self,startpage=None,RESPONSE=None):
           """change the templates"""
   
           resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1)
   
           for resource in resources:
   
               resource[1].setStartPage(startpage)
   
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
   
   
     def copySearchFields(self,RESPONSE=None):      def copySearchFields(self,RESPONSE=None):
         """copys import metadatafields to the object"""          """copys import metadatafields to the object"""
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])          resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])
Line 1740  class ECHO_collection(Folder, Persistent Line 1889  class ECHO_collection(Folder, Persistent
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
       def reloadMetaDataFromStorageWarning(self,RESPONSE=None):
           """warning"""
           pt=PageTemplateFile('Products/ECHO_content/zpt/reloadMetaDataFromStorageWarning.zpt').__of__(self)
               pt.content_type="text/html"
               return pt()
   
     def reloadMetaDataFromStorage(self,RESPONSE=None):      def reloadMetaDataFromStorage(self,RESPONSE=None):
         """copy metadata from the storage to ECHO"""          """copy metadata from the storage to ECHO"""
         ret=""  
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])  
   
         for resource in resources:  
   
             ret+=str(resource[1].copyIndex_meta2echo_resource())+"<br>"          return reloadMetaDataFromStorage(self,RESPONSE=None)
   
   
         if RESPONSE is not None:  
             #           RESPONSE.redirect('manage_main')  
             return ret  
           
     def getPartnerCopyright(self,name,sonst="generic"):      def getPartnerCopyright(self,name,sonst="generic"):
         """gibt generisches copyright eines partners aus, sonst behalte jetzige einsteillung"""          """gibt generisches copyright eines partners aus, sonst behalte jetzige einsteillung"""
         #print "hi",name,sonst          #print "hi",name,sonst
Line 2001  class ECHO_collection(Folder, Persistent Line 2148  class ECHO_collection(Folder, Persistent
           
     security.declarePublic('ECHO_rerenderLinksMD')      security.declarePublic('ECHO_rerenderLinksMD')
   
     def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']):  
         """Rerender all Links"""  
     ret=""  
       
         if not obj:  
             obj = self  
                           
         entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection'])      def ECHO_rerenderLinksMDWarning(self):
           """change form"""
         for entry in entries:          pt=PageTemplateFile('Products/ECHO_content/zpt/rerenderLinksWarning').__of__(self)
         if entry[1].meta_type == 'ECHO_resource':          pt.content_type="text/html"
             try:          return pt()
                 entry[1].ECHO_getResourceMD(template="no")  
                                 if "title" in types:  
                                     entry[1].generate_title()  
                                 if "label" in types:  
                                     entry[1].generate_label()  
                 ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"<br>"  
             except:  
                 ret+="Error:"+entry[0]+"<br>"  
   
         else:  
            self.ECHO_rerenderLinksMD(entry[1])  
   
                                   
       def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']):
           """Rerender all Links"""
       return ECHO_rerenderLinksMD(self,obj,types)
                                   
         return ret+"Rerenderd all links to resources in: "+self.title  
   
     security.declarePublic('ECHO_newViewerLink')      security.declarePublic('ECHO_newViewerLink')
           
Line 2067  class ECHO_collection(Folder, Persistent Line 2200  class ECHO_collection(Folder, Persistent
         {'label':'Main Config','action':'ECHO_collection_config'},          {'label':'Main Config','action':'ECHO_collection_config'},
         {'label':'Change Labels','action':'changeLabels'},          {'label':'Change Labels','action':'changeLabels'},
         {'label':'Change Titles','action':'changeTitles'},          {'label':'Change Titles','action':'changeTitles'},
         {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMD'},          {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},
         {'label':'Graphics','action':'ECHO_graphicEntry'},          {'label':'Graphics','action':'ECHO_graphicEntry'},
     {'label':'create resources from XML','action':'createRessourcesFromXMLForm'},      {'label':'create resources from XML','action':'createRessourcesFromXMLForm'},
       {'label':'Set Startpage','action':'setStartpageFolderForm'},
         {'label':'Change Viewer Templates','action':'changeViewerTemplateSetsForm'},          {'label':'Change Viewer Templates','action':'changeViewerTemplateSetsForm'},
     {'label':'Reload Metadata','action':'reloadMetaDataFromStorage'},      {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
     {'label':'ImportCollection','action':'updateCollection'},      {'label':'ImportCollection','action':'updateCollection'},
     {'label':'Copy MD for indexing and search','action':'copySearchFields'},      {'label':'Copy MD for indexing and search','action':'copySearchFields'},
         )          )
Line 2277  class ECHO_group(ECHO_collection): Line 2411  class ECHO_group(ECHO_collection):
   
     manage_options = Folder.manage_options+(      manage_options = Folder.manage_options+(
         {'label':'Main Config','action':'ECHO_group_config'},          {'label':'Main Config','action':'ECHO_group_config'},
         {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},          {'label':'Rerender Links','action':'ECHO_rerenderLinksMDWarning'},
         {'label':'Graphics','action':'ECHO_graphicEntry'},          {'label':'Graphics','action':'ECHO_graphicEntry'},
         )          )
           
     security.declareProtected('View','index_html')      security.declareProtected('View','index_html')
   
       def showRDF(self):
           """showrdf"""
               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+=self.getRDF(urn="echo:collectionroot")+"\n"
   
           ret+="""</RDF:RDF>"""
           
               return ret 
   
     def getRDF(self,urn=None):      def getRDF(self,urn=None):
         """rdf of the collection"""          """rdf of the collection"""
         contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])          contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
   
         ret=getRDFDescription(self,self.absolute_url(),urn)          ret=getRDFDescription(self,self.absolute_url(),urn=urn)
   
                   
   
         urn="urn:"+re.sub('/',':',self.absolute_url())          if not urn:
         li="""<RDF:li resource="%s" />\n"""              urn=self.absolute_url()
           li="""<RDF:li RDF:resource="%s" />\n"""
                   
                   
         for content in contents:          for content in contents:
             ret+=content[1].getRDF()+"\n"              ret+=content[1].getRDF()+"\n"
                           
         ret+="""<RDF:Seq about="%s">\n"""%urn          ret+="""<RDF:Seq RDF:about="%s">\n"""%urn
         for content in contents:          for content in contents:
             nurn="urn:"+re.sub('/',':',content[1].absolute_url())              nurn=content[1].absolute_url()
             ret+=li%nurn              ret+=li%nurn
         return ret+"</RDF:Seq>"          return ret+"</RDF:Seq>"
                   
Line 2520  class ECHO_root(Folder,Persistent,Implic Line 2664  class ECHO_root(Folder,Persistent,Implic
           
     meta_type="ECHO_root"      meta_type="ECHO_root"
           
   
       manage_options=Folder.manage_options+(
           {'label':'Main Config','action':'ECHO_copyright_configForm'},
           {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
           )
   
       
     def showRDF(self):      def showRDF(self):
         """showrdf"""          """showrdf"""
             self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')              self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
Line 2529  class ECHO_root(Folder,Persistent,Implic Line 2680  class ECHO_root(Folder,Persistent,Implic
         ret+="""</RDF:RDF>"""          ret+="""</RDF:RDF>"""
             return ret              return ret
   
   
       def reloadMetaDataFromStorageWarning(self,RESPONSE=None):
           """warning"""
           pt=PageTemplateFile('Products/ECHO_content/zpt/reloadMetaDataFromStorageWarning.zpt').__of__(self)
               pt.content_type="text/html"
               return pt()
   
       def reloadMetaDataFromStorage(self,RESPONSE=None):
           """reload MD from Storage"""
   
           return reloadMetaDataFromStorage(self,RESPONSE)
       
     def getRDF(self,urn=None):      def getRDF(self,urn=None):
         """rdf of the collection"""          """rdf of the collection"""
   
Line 2536  class ECHO_root(Folder,Persistent,Implic Line 2699  class ECHO_root(Folder,Persistent,Implic
   
         ret=getRDFDescription(self,self.absolute_url(),urn=urn)          ret=getRDFDescription(self,self.absolute_url(),urn=urn)
                   
         li="""<RDF:li resource="%s" />\n"""          li="""<RDF:li RDF:resource="%s" />\n"""
   
                   
         for content in contents:          for content in contents:
             ret+=content[1].getRDF()+"\n"              ret+=content[1].getRDF()+"\n"
                           
         ret+="""<RDF:Seq about="%s">\n"""%urn          ret+="""<RDF:Seq RDF:about="%s">\n"""%urn
         for content in contents:          for content in contents:
             nurn="urn:"+re.sub('/',':',content[1].absolute_url())              nurn=content[1].absolute_url()
             ret+=li%nurn              ret+=li%nurn
         return ret+"</RDF:Seq>"          return ret+"</RDF:Seq>"
                   
Line 2649  class ECHO_root(Folder,Persistent,Implic Line 2812  class ECHO_root(Folder,Persistent,Implic
      return retStr       return retStr
   
   
     def copyrightTypeSelector_HTML(self,selected=None,first=None):      def copyrightTypeSelector_HTML(self, object=None, selected=None,first=None):
          """give type selector"""           """give type selector"""
   
      if not first:       if not first:
Line 2670  class ECHO_root(Folder,Persistent,Implic Line 2833  class ECHO_root(Folder,Persistent,Implic
                  retStr+="""<option selected value="%s">%s\n"""%(copyrightType[0],copyrightType[0])                   retStr+="""<option selected value="%s">%s\n"""%(copyrightType[0],copyrightType[0])
              else:                               else:                
                  retStr+="""<option value="%s">%s\n"""%(copyrightType[0],copyrightType[0])                   retStr+="""<option value="%s">%s\n"""%(copyrightType[0],copyrightType[0])
            
            for copyrightTypeSelf in self.ZopeFind(object,obj_metatypes=["ECHO_copyrightType"],search_sub=1):
                if selected and (copyrightTypeSelf[0]==selected):
                    retStr+="""<option selected value="%s">%s\n"""%(copyrightTypeSelf[0],copyrightTypeSelf[0])
                else:                
                    retStr+="""<option value="%s">%s\n"""%(copyrightTypeSelf[0],copyrightTypeSelf[0])
                    
      except:       except:
          """nothing"""           """nothing"""
            
      return retStr       return retStr
   
     def partnerSelector_HTML(self,selected=None):      def partnerSelector_HTML(self,selected=None):
Line 3010  class ECHO_root(Folder,Persistent,Implic Line 3181  class ECHO_root(Folder,Persistent,Implic
             if filter and not re.search(filter,viewer_url):              if filter and not re.search(filter,viewer_url):
                 continue                  continue
   
             ret+="""\n<resource resourceLink="%s" metaLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?'))              #modificationDate=time.strptime(str(resource[1].bobobase_modification_time()),"%Y/%m/%d %H:%M:%S %Z")
               
               modificationDate=resource[1].bobobase_modification_time().strftime("%Y/%m/%d %H:%M:%S")
   
               ret+="""\n<resource resourceLink="%s" metaLink="%s" modificationDate="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?'),modificationDate)
               
                                   
         ret +="""\n</index>"""          ret +="""\n</index>"""
                   

Removed from v.1.146  
changed lines
  Added in v.1.153


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