--- OSA_system2/OSAS_metadata.py 2005/11/24 19:01:33 1.12 +++ OSA_system2/OSAS_metadata.py 2010/09/01 13:26:16 1.18 @@ -10,7 +10,14 @@ import sys import xml.dom.minidom import xml.dom.pulldom import OSAS_helpers -import zLOG +import logging + +#ersetzt logging +def logger(txt,method,txt2): + """logging""" + logging.info(txt+ txt2) + + import string try: from xml.xpath import Evaluate @@ -134,7 +141,7 @@ def manage_addMetadataMapping(self,idOfO class OSAS_Metadata(Folder): - """Foldertype enthält methoden zur Halbautomatischen Erstellung von Metadatenfiles""" + """Foldertype enthaelt methoden zur Halbautomatischen Erstellung von Metadatenfiles""" security=ClassSecurityInfo() def __init__(self,id,shortDescription,description,fields): @@ -165,20 +172,29 @@ class OSAS_Metadata(Folder): else: self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') return ret - - def showOverviewXML(self,RESPONSE): + + + def showOverviewXML(self,RESPONSE=None,wrapped=False): """gives an overview over the Metadata stored in this folder""" - ret=""""""%self.getId() + ret="" + if wrapped: + ret+="""""" + ret+=""""""%self.getId() 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() + for entry in self.ZopeFind(self,obj_metatypes=['OSAS_Metadata__neu']): + ret+=entry[1].showOverviewXML() + ret+="" + if wrapped: + ret+="""""" if not RESPONSE: return ret else: - self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') + RESPONSE.setHeader('Content-Type','text/xml') return ret def generateMappingList(self): @@ -189,7 +205,9 @@ class OSAS_Metadata(Folder): #print dict obj=getattr(self,dict) 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() return mapping @@ -198,8 +216,9 @@ class OSAS_Metadata(Folder): """erzeuge spezifisches Mapping""" hash=self.generateMappingList() - + logging.debug("generateMappingForType:"+type) for key in hash.keys(): + logging.debug("generateMappingForType comparing:"+key.lower()+type.lower()) if (key.lower() == type.lower()): if clean=="yes": temp={} @@ -244,16 +263,16 @@ class OSAS_Metadata(Folder): def getStoredTypes(self): - """Gebe gespeicherte typen zurück""" + """Gebe gespeicherte typen zurueck""" types=[] - for obj in self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping_neu']): - if obj.title=="": - title=obj.id - else: - title=obj.title - types.append((obj.id,title,obj)) + for obj in self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping__neu']): + if obj[1].title=="": + title=obj[1].id + else: + title=obj[1].title + types.append((obj[1].id, title, obj[1])) return types @@ -300,14 +319,14 @@ class OSAS_Metadata(Folder): except: return "" def getDisplayFieldsAsStrOLD(self,indexMeta): - """Gebe display fields als string zurück + """Gebe display fields als string zurueck @param path: Pfad zum Object """ ret=[] try: dom=xml.dom.minidom.parseString(indexMeta) except: - zLOG.LOG("OSAS_metadata (getDisplayFieldsAsStr)",zLOG.INFO,"Cannot parse: %s"%indexMeta) + logger("OSAS_metadata (getDisplayFieldsAsStr)",logging.INFO,"Cannot parse: %s"%indexMeta) try: bib = dom.getElementsByTagName("meta")[0].getElementsByTagName("bib")[0] except: @@ -577,6 +596,8 @@ class OSAS_Metadata(Folder): actualNode.appendChild(namenode) ret=newdoc.toxml(encoding='utf-8') + zLOG.LOG("OSAS_metadata (writeMetadata)",zLOG.INFO,"write: %s"%ret) + server.writeMetaDataFile(indexFile,ret) @@ -602,7 +623,7 @@ class OSAS_Metadata(Folder): if list=="": return None - listsplit=list.split("\n") + listsplit=[i.rstrip() for i in list.split("\n")] return listsplit def showHelp(self,refType,genericTag): @@ -633,4 +654,4 @@ def manage_addMetadata(self,id,shortDesc RESPONSE.redirect('manage_main') -InitializeClass(OSAS_Metadata) +