Diff for /ECHO_content/ECHO_resource.py between versions 1.4 and 1.6

version 1.4, 2009/04/14 16:32:00 version 1.6, 2010/10/11 13:14:59
Line 436  class ECHO_resource(CatalogAware,Folder, Line 436  class ECHO_resource(CatalogAware,Folder,
             """create ImageUrl"""              """create ImageUrl"""
   
                           
             resourcepath=readFieldFromXML(self.metalink,'resource','archive-path')              resourcepath=readFieldFromXML_xpath(self.metalink,'//resource/archive-path')
                           
             digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix')              digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix')
             images=readFieldFromXML(self.metalink,'texttool','image')              images=readFieldFromXML(self.metalink,'texttool','image')
Line 455  class ECHO_resource(CatalogAware,Folder, Line 455  class ECHO_resource(CatalogAware,Folder,
     def copyTitleToInfoXML(self,RESPONSE=None):      def copyTitleToInfoXML(self,RESPONSE=None):
             """copy title from the resource"""              """copy title from the resource"""
             presentationXML=readFieldFromXML(self.metalink,'texttool','presentation')              presentationXML=readFieldFromXML(self.metalink,'texttool','presentation')
             resourcepath=readFieldFromXML(self.metalink,'resource','archive-path')              resourcepath=readFieldFromXML_xpath(self.metalink,'//resource/archive-path')
             if (not presentationXML) or (not resourcepath):               if (not presentationXML) or (not resourcepath): 
                 if RESPONSE:                  if RESPONSE:
                         RESPONSE.write("Error: %s\n"%self.getId())                          RESPONSE.write("Error: %s\n"%self.getId())
Line 654  class ECHO_resource(CatalogAware,Folder, Line 654  class ECHO_resource(CatalogAware,Folder,
           
     def getArchivePathFromMetadata(self):      def getArchivePathFromMetadata(self):
         try:          try:
             fh=ECHO_helpers.urlopen(self.metalink)              archivePath=readFieldFromXML_xpath(self.metalink,"//resource/archive-path")
             dom=xml.dom.minidom.parse(fh)              return archivePath
             archivePath=dom.getElementsByTagName('archive-path')  
             text = getText(archivePath[0].childNodes)  
             return text  
         except:          except:
             return ""              return ""
           
     def getImageView(self,noredirect=None,onlyPath=None):      def getImageView(self,noredirect=None,onlyPath=None):
             """getImages; give Imageviewr  and <error></error> if somthing goes wrong."""              """getImages; give Imageviewr  and <error></error> if somthing goes wrong."""
             try:              try:
                     fh=ECHO_helpers.urlopen(self.metalink)                      archivePath=readFieldFromXML_xpath(self.metalink,"//resource/archive-path")
                     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)                       archivepath=re.sub('/mpiwg/online/','',archivepath) 
                     imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp                      imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp
                     fh.close()                      fh.close()
Line 1215  class ECHO_resource(CatalogAware,Folder, Line 1206  class ECHO_resource(CatalogAware,Folder,
   
     def getMetaDataHash(self):      def getMetaDataHash(self):
             """md hash"""              """md hash"""
             return self.metaDataHash             
               return getattr(self,'metaDataHash',{})
           
     def setFieldValue(self,field,value):      def setFieldValue(self,field,value):
         """get value"""          """get value"""
Line 1227  class ECHO_resource(CatalogAware,Folder, Line 1219  class ECHO_resource(CatalogAware,Folder,
   
     def copySearchFields(self):      def copySearchFields(self):
             """copys metadatafields to the object"""              """copys metadatafields to the object"""
             fields=['author','title','year']  
                           
               # Zunaechst die gnerischen felder
               fields=['author','title','year']
             for field in fields:              for field in fields:
                     setattr(self,'MD_'+field,self.getMDValue(field,generic="yes"))                      setattr(self,'MD_'+field,self.getMDValue(field,generic="yes"))
           
               # jetzt die spezifischen
               for field in self.getMetaDataHash().keys():
                       if not (field in fields):
                           logging.debug("ECHO_resource (copySearchFields) mapping: "+field)
                           setattr(self,'MD_'+field,self.getMDValue(field))
       
               
                 
   
     def findLabelsFromMapping(self,referenceType):      def findLabelsFromMapping(self,referenceType):
         """gib hash mit label -> generic zurueck"""          """gib hash mit label -> generic zurueck"""
Line 1249  class ECHO_resource(CatalogAware,Folder, Line 1250  class ECHO_resource(CatalogAware,Folder,
         fieldlist=self.standardMD.fieldList          fieldlist=self.standardMD.fieldList
   
         tags=self.findTagsFromMapping(normalizeCt(self.contentType))          tags=self.findTagsFromMapping(normalizeCt(self.contentType))
           logging.debug("ECHO_resource(findLabelsFromMapping)"+repr(tags))
         self.referencetypes=tags[2]          self.referencetypes=tags[2]
         for referenceTypeF in self.referencetypes:          for referenceTypeF in self.referencetypes:
                                   
                                   logging.debug("--- compare"+normalizeCt(referenceTypeF[1].title)+normalizeCt(referenceType.lower()))
                 if normalizeCt(referenceTypeF[1].title) == normalizeCt(referenceType.lower()):                  if normalizeCt(referenceTypeF[1].title) == normalizeCt(referenceType.lower()):
   
                         try:                          try:
                                 bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields                                  bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields
                                 referenceType=referenceTypeF[1].title                                  referenceType=referenceTypeF[1].title
                                   logging.debug("------fields:"+repr(fields))
                         except:                          except:
                                 bibdata[referenceType]=referenceTypeF[1].fields                                  bibdata[referenceType]=referenceTypeF[1].fields
                                   
Line 1296  class ECHO_resource(CatalogAware,Folder, Line 1299  class ECHO_resource(CatalogAware,Folder,
                                 bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields                                  bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields
                                 referenceType=referenceTypeF[1].title                                  referenceType=referenceTypeF[1].title
                         except:                          except:
                                   logging.debug("Error in ECHOresource(findTagsFromMapping): %s %s"%(sys.exc_info[0],sys.exc_info[1]))
                                 bibdata[referenceType]=referenceTypeF[1].fields                                  bibdata[referenceType]=referenceTypeF[1].fields
                         bibdata['data']=referenceTypeF[1]                          bibdata['data']=referenceTypeF[1]
                         fields=bibdata[referenceType]                          fields=bibdata[referenceType]

Removed from v.1.4  
changed lines
  Added in v.1.6


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