comparison MetaDataFolder.py @ 9:eeaad777d3d7

more work for non-bib metadata
author casties
date Thu, 28 Jul 2011 18:08:58 +0200
parents 4cd862bf37a3
children 68bc459c9f59
comparison
equal deleted inserted replaced
8:4cd862bf37a3 9:eeaad777d3d7
1 from OFS.Folder import Folder 1 from OFS.Folder import Folder
2 from Products.PageTemplates.PageTemplateFile import PageTemplateFile 2 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
3 from Globals import package_home 3 from Globals import package_home
4 from AccessControl import ClassSecurityInfo 4 from AccessControl import ClassSecurityInfo
5 import os.path 5 import os.path
6 import urlparse
6 import logging 7 import logging
7 8
8 from MetaDataMapping import MetaDataMapping 9 from MetaDataMapping import MetaDataMapping
9 from MetaData import MetaData 10 from MetaData import MetaData
10 11
98 99
99 #logging.debug("get Metadata: %s"%url) 100 #logging.debug("get Metadata: %s"%url)
100 md = getHttpData(url) 101 md = getHttpData(url)
101 return md 102 return md
102 103
104 def getXmlPathData(self, xmlpath, path=None, dom=None):
105 """returns contents of element at xmlpath as dict"""
106 logging.error("getXmlPathData(%s)"%xmlpath)
107 # make xmlpath relative for Zope
108 if xmlpath[0] == '/':
109 xmlpath = xmlpath[1:]
110
111 mdObj = self.restrictedTraverse(xmlpath, None)
112 if mdObj is not None:
113 return mdObj.getData(path=path, dom=dom)
114 else:
115 logging.error("getXmlPathData: MetaData element at '%s' not found!"%xmlpath)
116 return None
117
103 def getTexttoolData(self, path=None, dom=None): 118 def getTexttoolData(self, path=None, dom=None):
104 """returns contents of texttool tag as dict""" 119 """returns contents of texttool tag as dict"""
105 return self.resource.meta.texttool.getData(path=path, dom=dom) 120 return self.getXmlPathData('resource/meta/texttool', path=path, dom=dom)
106 121
107 122 def getBibData(self, path=None, dom=None):
108
109
110 def getBibdata(self, path=None, dom=None):
111 """returns contents of bib tag as dict""" 123 """returns contents of bib tag as dict"""
112 return self.resource.meta.bib.getData(path=path, dom=dom) 124 return self.resource.meta.bib.getData(path=path, dom=dom)
113 125
114 def getBibMapping(self, bibtype): 126 def getBibMapping(self, bibtype):
115 """returns MetaDataMapping for resource/meta/bib of bibtype""" 127 """returns MetaDataMapping for resource/meta/bib of bibtype"""
236 self.metaDataServerUrl=metaDataServerUrl 248 self.metaDataServerUrl=metaDataServerUrl
237 if RESPONSE is not None: 249 if RESPONSE is not None:
238 RESPONSE.redirect('manage_main') 250 RESPONSE.redirect('manage_main')
239 251
240 252
241 manage_addMetaDataFolderForm = PageTemplateFile('zpt/addMetadataFolderForm',globals()) 253 def manage_addMetaDataFolderForm(self):
254 """add MetaDataFolder form"""
255 pt = PageTemplateFile('zpt/addMetadataFolderForm',globals()).__of__(self)
256 return pt()
242 257
243 def manage_addMetaDataFolder(self,id,title,RESPONSE=None): 258 def manage_addMetaDataFolder(self,id,title,RESPONSE=None):
244 """a MetaDataFolder objekt""" 259 """a MetaDataFolder objekt"""
245 newObj=MetaDataFolder(id,title) 260 newObj=MetaDataFolder(id,title)
246 self.Destination()._setObject(id,newObj) 261 self.Destination()._setObject(id,newObj)