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

version 1.6, 2010/10/11 13:14:59 version 1.7, 2012/01/03 13:02:31
Line 621  class ECHO_resource(CatalogAware,Folder, Line 621  class ECHO_resource(CatalogAware,Folder,
                     #logger("ECHO Fulltext",logging.INFO,"opened %s"%self.metalink)                      #logger("ECHO Fulltext",logging.INFO,"opened %s"%self.metalink)
                     dom=xml.dom.minidom.parse(fh)                      dom=xml.dom.minidom.parse(fh)
                     texttools=dom.getElementsByTagName('texttool')                      texttools=dom.getElementsByTagName('texttool')
                       
                       text=texttools[0].getElementsByTagName('text-url-path') #pfad auf text im neuen system
                       logging.debug(text);
                       if (text is not None) and len(text)>0:
                           texturl=getText(text[0].childNodes)
                           textBasisUrl=None
                           if hasattr(self,"getFullTextBasisUrl"):
                               textBasisUrl=self.getFullTextBasisUrl()
                           else: #default
                               textBasisUrl="http://mpdl-text.mpiwg-berlin.mpg.de/mpdl/getDoc?doc=%s"
                           #Beispiel http://mpdl-text.mpiwg-berlin.mpg.de/mpdl/getDoc?doc=/archimedes/la/achil_propo_087_la_1545.xml
                           logging.debug(textBasisUrl);
                           texturl=textBasisUrl%texturl
                       else:
                     text=texttools[0].getElementsByTagName('text')                      text=texttools[0].getElementsByTagName('text')
                     texturl=getText(text[0].childNodes)                      texturl=getText(text[0].childNodes)
   
Line 1063  class ECHO_resource(CatalogAware,Folder, Line 1077  class ECHO_resource(CatalogAware,Folder,
                                           
   
                 #noch nicht gecached                      #noch nicht gecached    
                 if not fieldName and hasattr(self.standardMD,ct):                      if not fieldName and hasattr(self.getStandardMD(),ct):    
                     fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0]                      fieldName=getattr(self.getStandardMD(),ct).generateMappingHash()[fieldNameTest][0]
                     self._v_mapHash[ct][fieldNameTest]=fieldName                      self._v_mapHash[ct][fieldNameTest]=fieldName
             if not fieldName:              if not fieldName:
                 fieldName=fieldNameTest                    fieldName=fieldNameTest  
Line 1227  class ECHO_resource(CatalogAware,Folder, Line 1241  class ECHO_resource(CatalogAware,Folder,
                                           
             # jetzt die spezifischen              # jetzt die spezifischen
             for field in self.getMetaDataHash().keys():              for field in self.getMetaDataHash().keys():
                     if not (field in fields):                      
                       if (not field is None) and (not (field in fields)):
                         logging.debug("ECHO_resource (copySearchFields) mapping: "+field)                          logging.debug("ECHO_resource (copySearchFields) mapping: "+field)
                           logging.debug("ECHO_resource (copySearchFields) mapping value : "+self.getMDValue(field))
                         setattr(self,'MD_'+field,self.getMDValue(field))                          setattr(self,'MD_'+field,self.getMDValue(field))
           
                           
Line 1238  class ECHO_resource(CatalogAware,Folder, Line 1254  class ECHO_resource(CatalogAware,Folder,
         """gib hash mit label -> generic zurueck"""          """gib hash mit label -> generic zurueck"""
         #return {},[]          #return {},[]
   
         temp=self.ZopeFind(self.standardMD)          temp=self.ZopeFind(self.getStandardMD())
   
         if referenceType=="":          if referenceType=="":
                 referenceType="book"                  referenceType="book"
Line 1247  class ECHO_resource(CatalogAware,Folder, Line 1263  class ECHO_resource(CatalogAware,Folder,
         bibdata={}          bibdata={}
         retdata={}          retdata={}
         fields=[]          fields=[]
         fieldlist=self.standardMD.fieldList          fieldlist=self.getStandardMD().fieldList
   
         tags=self.findTagsFromMapping(normalizeCt(self.contentType))          tags=self.findTagsFromMapping(normalizeCt(self.contentType))
         logging.debug("ECHO_resource(findLabelsFromMapping)"+repr(tags))          logging.debug("ECHO_resource(findLabelsFromMapping)"+repr(tags))
Line 1258  class ECHO_resource(CatalogAware,Folder, Line 1274  class ECHO_resource(CatalogAware,Folder,
                 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].getUsedFields()
                                 referenceType=referenceTypeF[1].title                                  referenceType=referenceTypeF[1].title
                                 logging.debug("------fields:"+repr(fields))                                  logging.debug("------fields:"+repr(bibdata[referenceTypeF[1].title]))
                         except:                          except:
                                 bibdata[referenceType]=referenceTypeF[1].fields                                  bibdata[referenceType]=referenceTypeF[1].getUsedFields()
                                   
   
                         bibdata['data']=referenceTypeF[1]                          bibdata['data']=referenceTypeF[1]
Line 1279  class ECHO_resource(CatalogAware,Folder, Line 1295  class ECHO_resource(CatalogAware,Folder,
         if referenceType=="":          if referenceType=="":
                 referenceType="book"                  referenceType="book"
                   
         temp =  self.ZopeFind(self.standardMD)[0:]          temp =  self.ZopeFind(self.getStandardMD())[0:]
   
                   
         #self.referencetypes=temp[0:]          #self.referencetypes=temp[0:]
Line 1289  class ECHO_resource(CatalogAware,Folder, Line 1305  class ECHO_resource(CatalogAware,Folder,
   
         bibdata={}          bibdata={}
         retdata={}          retdata={}
         fieldlist=self.standardMD.fieldList          fieldlist=self.getStandardMD().fieldList
         fields=[]          fields=[]
         for referenceTypeF in temp:          for referenceTypeF in temp:
                 #print referenceType                  #print referenceType
                   
                 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].getUsedFields()
                                 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]))                                  logging.debug("Error in ECHOresource(findTagsFromMapping): %s %s"%(sys.exc_info()[0],sys.exc_info()[1]))
                                 bibdata[referenceType]=referenceTypeF[1].fields                                  logging.debug(referenceTypeF)
                                   #TODO:CCCC
                                   bibdata[referenceType]=referenceTypeF[1].getUsedFields()
                         bibdata['data']=referenceTypeF[1]                          bibdata['data']=referenceTypeF[1]
                         fields=bibdata[referenceType]                          fields=bibdata[referenceType]
                         for field in fieldlist:                          for field in fieldlist:
Line 1314  class ECHO_resource(CatalogAware,Folder, Line 1332  class ECHO_resource(CatalogAware,Folder,
             """copy MD von Index_meta to the echo_resource"""              """copy MD von Index_meta to the echo_resource"""
                           
             (metadict, error)=readMetadata(self.metalink)              (metadict, error)=readMetadata(self.metalink)
               logging.debug(metadict)
   
                           
             self.metaDataHash={}              self.metaDataHash={}
             if not error=="": #Fehler beim Auslesen des Metafiles              if not error=="": #Fehler beim Auslesen des Metafiles
Line 1342  class ECHO_resource(CatalogAware,Folder, Line 1359  class ECHO_resource(CatalogAware,Folder,
     def ECHO_getResourceMD(self,template="yes",back=None,overwrite="no"):      def ECHO_getResourceMD(self,template="yes",back=None,overwrite="no"):
         """Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource"""          """Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource"""
         (metadict, error)=readMetadata(self.metalink)          (metadict, error)=readMetadata(self.metalink)
                 logging.debug("METADICT:")
           logging.debug(metadict)
         if back:          if back:
             self.REQUEST.SESSION['back']=back              self.REQUEST.SESSION['back']=back
   
Line 1440  class ECHO_resource(CatalogAware,Folder, Line 1458  class ECHO_resource(CatalogAware,Folder,
   
     def generate_label(self):      def generate_label(self):
         """Erzeugt_standard_Label aus Template"""          """Erzeugt_standard_Label aus Template"""
         pt=getattr(self,"label_template_"+normalizeCt(self.contentType).lower())  
   
         self.label=pt()[0:]          templateName="label_template_"+normalizeCt(self.contentType).lower();
           if hasattr(self, templateName):
               pt=getattr(self,templateName)
               self.title=pt()[0:]
         return pt()          return pt()
           else:
               pt=getattr(self.metadata,templateName)
               
               mdHash={}
               #mdHash={"author":self.getMDValue('author'),"title":self.getMDValue('title'),"year":self.MD_year}
               #logging.debug(mdHash)
               logging.debug("new format for template")
               fields=['author','title','year']
               
               for field in fields:
                   mdHash[field]=self.getMDValue(field);
                       
               # jetzt die spezifischen
               for field in self.getMetaDataHash().keys():
                       
                       if (not field is None) and (not (field in fields)):
   
                           logging.debug(field)
                           mdHash[field]=self.getMDValue(field);
       
               
               self.title=pt(md=mdHash)[0:]
               return pt(md=mdHash)[0:]
           
           
           
   
     security.declarePublic('generate_title') # has to be change, presentlyset because of OSAS koordination      security.declarePublic('generate_title') # has to be change, presentlyset because of OSAS koordination
   
     def generate_title(self,RESPONSE=None):      def generate_title(self,RESPONSE=None):
         """Erzeugt_standard_Label aus Template"""          """Erzeugt_standard_Label aus Template"""
         pt=getattr(self,"label_template_"+normalizeCt(self.contentType).lower())  
   
         self.title=pt()[0:]  
                   
           templateName="label_template_"+normalizeCt(self.contentType).lower();
           if hasattr(self, templateName):
               pt=getattr(self,templateName)
               self.title=pt()[0:]
         return pt()          return pt()
           else:
               pt=getattr(self.metadata,templateName)
               
               mdHash={}
               #mdHash={"author":self.getMDValue('author'),"title":self.getMDValue('title'),"year":self.MD_year}
               #logging.debug(mdHash)
               logging.debug("new format for template")
               fields=['author','title','year']
               
               for field in fields:
                   mdHash[field]=self.getMDValue(field);
                       
               # jetzt die spezifischen
               for field in self.getMetaDataHash().keys():
                       
                       if (not field is None) and (not (field in fields)):
   
                           logging.debug(field)
                           mdHash[field]=self.getMDValue(field);
       
               
               self.title=pt(md=mdHash)[0:]
               return pt(md=mdHash)[0:]
           
           
           
   
 Globals.InitializeClass(ECHO_resource)  Globals.InitializeClass(ECHO_resource)
   

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


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