Diff for /OSA_system2/OSAS_metadata.py between versions 1.12 and 1.19

version 1.12, 2005/11/24 19:01:33 version 1.19, 2010/10/11 13:15:37
Line 10  import sys Line 10  import sys
 import xml.dom.minidom  import xml.dom.minidom
 import xml.dom.pulldom  import xml.dom.pulldom
 import OSAS_helpers  import OSAS_helpers
 import zLOG  import logging
   
   #ersetzt logging
   def logger(txt,method,txt2):
       """logging"""
       logging.info(txt+ txt2)
   
   
 import string  import string
 try:  try:
     from xml.xpath import Evaluate      from xml.xpath import Evaluate
Line 87  class OSAS_MetadataMapping(SimpleItem): Line 94  class OSAS_MetadataMapping(SimpleItem):
         """erzeugen des dictionaries: generisches Feld -> Definition in diesem Schema"""          """erzeugen des dictionaries: generisches Feld -> Definition in diesem Schema"""
         hash={}          hash={}
         for field in self.fieldList:          for field in self.fieldList:
             hash[field]=getattr(self,"md_"+field)              hash[field]=getattr(self,"md_"+field,'')
         return hash          return hash
   
                 
Line 134  def manage_addMetadataMapping(self,idOfO Line 141  def manage_addMetadataMapping(self,idOfO
         
   
 class OSAS_Metadata(Folder):  class OSAS_Metadata(Folder):
     """Foldertype enthält methoden zur Halbautomatischen Erstellung von Metadatenfiles"""      """Foldertype enthaelt methoden zur Halbautomatischen Erstellung von Metadatenfiles"""
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
           
     def __init__(self,id,shortDescription,description,fields):      def __init__(self,id,shortDescription,description,fields):
Line 166  class OSAS_Metadata(Folder): Line 173  class OSAS_Metadata(Folder):
             self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')              self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
             return ret              return ret
                   
     def showOverviewXML(self,RESPONSE):    
       def showOverviewXML(self,RESPONSE=None,wrapped=False):
         """gives an overview over the Metadata stored in this folder"""          """gives an overview over the Metadata stored in this folder"""
         ret="""<metadata name="%s">"""%self.getId()          ret=""
           if wrapped:
               ret+="""<metadataExport>"""
           ret+="""<metadata name="%s">"""%self.getId()
         ret+=self.showGenericXML()          ret+=self.showGenericXML()
         for entry in self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping']):          for entry in self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping__neu']):
             ret+=entry[1].showSetXML()              ret+=entry[1].showSetXML()
   
           for entry in self.ZopeFind(self,obj_metatypes=['OSAS_Metadata__neu']):
               ret+=entry[1].showOverviewXML()
   
         ret+="</metadata>"          ret+="</metadata>"
   
           if wrapped:
               ret+="""</metadataExport>"""
         if not RESPONSE:          if not RESPONSE:
             return ret              return ret
         else:          else:
             self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')              RESPONSE.setHeader('Content-Type','text/xml')
             return ret              return ret
                   
     def generateMappingList(self):      def generateMappingList(self):
Line 189  class OSAS_Metadata(Folder): Line 205  class OSAS_Metadata(Folder):
             #print dict              #print dict
             obj=getattr(self,dict)              obj=getattr(self,dict)
             if hasattr(obj,'meta_type'):              if hasattr(obj,'meta_type'):
                 if obj.meta_type=="OSAS_MetadataMapping__neu":                  logging.debug("generateMappungList read type:"+repr(obj.meta_type))
                   if ((obj.meta_type=="OSAS_MetadataMapping__neu") or (obj.meta_type=="MetadataMapping")): #metadatamapping is the newer type
                       logging.debug("generateMappungListadded:"+repr(obj.getId()))
                     mapping[obj.getId()]=obj.generateMappingHash()                      mapping[obj.getId()]=obj.generateMappingHash()
                   
         return mapping          return mapping
Line 198  class OSAS_Metadata(Folder): Line 216  class OSAS_Metadata(Folder):
         """erzeuge spezifisches Mapping"""          """erzeuge spezifisches Mapping"""
                   
         hash=self.generateMappingList()          hash=self.generateMappingList()
                   logging.debug("generateMappingForType:"+type)
         for key in hash.keys():          for key in hash.keys():
               logging.debug("generateMappingForType comparing:"+key.lower()+type.lower())
             if (key.lower() == type.lower()):              if (key.lower() == type.lower()):
                 if clean=="yes":                  if clean=="yes":
                     temp={}                      temp={}
Line 244  class OSAS_Metadata(Folder): Line 263  class OSAS_Metadata(Folder):
                   
                   
     def getStoredTypes(self):      def getStoredTypes(self):
         """Gebe gespeicherte typen zurück"""          """Gebe gespeicherte typen zurueck"""
                   
         types=[]          types=[]
   
         for obj in self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping_neu']):          for obj in self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping__neu']):
              if obj.title=="":          if obj[1].title=="":
                  title=obj.id          title=obj[1].id
              else:               else:
                  title=obj.title          title=obj[1].title
              types.append((obj.id,title,obj))          types.append((obj[1].id, title, obj[1]))
   
         return types          return types
   
Line 300  class OSAS_Metadata(Folder): Line 319  class OSAS_Metadata(Folder):
         except:          except:
             return ""              return ""
     def getDisplayFieldsAsStrOLD(self,indexMeta):      def getDisplayFieldsAsStrOLD(self,indexMeta):
         """Gebe display fields als string zurück          """Gebe display fields als string zurueck
         @param path: Pfad zum Object          @param path: Pfad zum Object
         """          """
         ret=[]          ret=[]
         try:          try:
             dom=xml.dom.minidom.parseString(indexMeta)              dom=xml.dom.minidom.parseString(indexMeta)
         except:          except:
             zLOG.LOG("OSAS_metadata (getDisplayFieldsAsStr)",zLOG.INFO,"Cannot parse: %s"%indexMeta)              logger("OSAS_metadata (getDisplayFieldsAsStr)",logging.INFO,"Cannot parse: %s"%indexMeta)
         try:          try:
             bib = dom.getElementsByTagName("meta")[0].getElementsByTagName("bib")[0]              bib = dom.getElementsByTagName("meta")[0].getElementsByTagName("bib")[0]
         except:          except:
Line 577  class OSAS_Metadata(Folder): Line 596  class OSAS_Metadata(Folder):
                 actualNode.appendChild(namenode)                  actualNode.appendChild(namenode)
                                   
         ret=newdoc.toxml(encoding='utf-8')          ret=newdoc.toxml(encoding='utf-8')
           zLOG.LOG("OSAS_metadata (writeMetadata)",zLOG.INFO,"write: %s"%ret)
   
   
         server.writeMetaDataFile(indexFile,ret)          server.writeMetaDataFile(indexFile,ret)
   
Line 602  class OSAS_Metadata(Folder): Line 623  class OSAS_Metadata(Folder):
   
         if list=="":          if list=="":
             return None              return None
         listsplit=list.split("\n")          listsplit=[i.rstrip() for i in list.split("\n")]
         return listsplit          return listsplit
   
     def showHelp(self,refType,genericTag):      def showHelp(self,refType,genericTag):
Line 633  def manage_addMetadata(self,id,shortDesc Line 654  def manage_addMetadata(self,id,shortDesc
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
   
                           
 InitializeClass(OSAS_Metadata)  

Removed from v.1.12  
changed lines
  Added in v.1.19


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