Mercurial > hg > MetaDataProvider
diff 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 |
line wrap: on
line diff
--- a/MetaDataFolder.py Thu Jul 28 14:54:54 2011 +0200 +++ b/MetaDataFolder.py Thu Jul 28 18:08:58 2011 +0200 @@ -3,6 +3,7 @@ from Globals import package_home from AccessControl import ClassSecurityInfo import os.path +import urlparse import logging from MetaDataMapping import MetaDataMapping @@ -100,14 +101,25 @@ md = getHttpData(url) return md + def getXmlPathData(self, xmlpath, path=None, dom=None): + """returns contents of element at xmlpath as dict""" + logging.error("getXmlPathData(%s)"%xmlpath) + # make xmlpath relative for Zope + if xmlpath[0] == '/': + xmlpath = xmlpath[1:] + + mdObj = self.restrictedTraverse(xmlpath, None) + if mdObj is not None: + return mdObj.getData(path=path, dom=dom) + else: + logging.error("getXmlPathData: MetaData element at '%s' not found!"%xmlpath) + return None + def getTexttoolData(self, path=None, dom=None): """returns contents of texttool tag as dict""" - return self.resource.meta.texttool.getData(path=path, dom=dom) - + return self.getXmlPathData('resource/meta/texttool', path=path, dom=dom) - - - def getBibdata(self, path=None, dom=None): + def getBibData(self, path=None, dom=None): """returns contents of bib tag as dict""" return self.resource.meta.bib.getData(path=path, dom=dom) @@ -238,7 +250,10 @@ RESPONSE.redirect('manage_main') -manage_addMetaDataFolderForm = PageTemplateFile('zpt/addMetadataFolderForm',globals()) +def manage_addMetaDataFolderForm(self): + """add MetaDataFolder form""" + pt = PageTemplateFile('zpt/addMetadataFolderForm',globals()).__of__(self) + return pt() def manage_addMetaDataFolder(self,id,title,RESPONSE=None): """a MetaDataFolder objekt"""