version 1.12, 2005/11/24 19:01:33
|
version 1.18, 2010/09/01 13:26:16
|
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 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) |
|