Mercurial > hg > MetaDataProvider
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) |