comparison MetaDataFolder.py @ 26:a19575be96e8

getDRI reshuffled, works on python 2.6. now.
author casties
date Mon, 30 Jul 2012 19:43:23 +0200
parents 64b703d1b8a4
children a0d273542509
comparison
equal deleted inserted replaced
25:64b703d1b8a4 26:a19575be96e8
128 return dom 128 return dom
129 129
130 def getXmlPathObj(self, xmlpath): 130 def getXmlPathObj(self, xmlpath):
131 """returns object at xmlpath""" 131 """returns object at xmlpath"""
132 # make xmlpath relative for Zope 132 # make xmlpath relative for Zope
133 logging.debug("XMlPAth:"+xmlpath)
134 if xmlpath[0] == '/': 133 if xmlpath[0] == '/':
135 xmlpath = xmlpath[1:] 134 xmlpath = xmlpath[1:]
136 135
137 obj = self.restrictedTraverse(xmlpath, None) 136 obj = self.restrictedTraverse(xmlpath, None)
138 return obj 137 return obj
205 return self.getXmlPathFormatted('resource/meta/access-conditions/copyright', template, path=path, dom=dom, data=data, recursive=recursive, all=all) 204 return self.getXmlPathFormatted('resource/meta/access-conditions/copyright', template, path=path, dom=dom, data=data, recursive=recursive, all=all)
206 205
207 def getContextData(self, path=None, dom=None, all=True): 206 def getContextData(self, path=None, dom=None, all=True):
208 """returns contents of context tag as dict""" 207 """returns contents of context tag as dict"""
209 # information is two tags deep - recursive=1 208 # information is two tags deep - recursive=1
210
211 return self.getXmlPathData('resource/meta/context', path=path, dom=dom, all=all) 209 return self.getXmlPathData('resource/meta/context', path=path, dom=dom, all=all)
212 210
213 211
214 def getDRI(self,path=None,type="escidoc",dom=None): 212 def getDRI(self, path=None, dom=None, type="escidoc"):
215 """returns the DRI of the document""" 213 """returns the DRI of the document"""
216 return self.resource.meta.getDRI(path=path, dom=dom) 214 dris = self.getXmlPathData('resource/meta/dri', path=path, dom=dom, all=True)
215 logging.debug("getDRI: dris=%s"%repr(dris))
216 if dris is None:
217 return None
218
219 for dri in dris:
220 logging.debug("getDRI: dri=%s"%dri)
221 att = dri.get('@attr', None)
222 if att is not None:
223 if (att.get('type', None) == type):
224 return dri.get('@text', None)
225
226 return None
227 #return self.resource.meta.getDRI(path=path, dom=dom, type=type)
217 228
218 def getBibData(self, path=None, dom=None): 229 def getBibData(self, path=None, dom=None):
219 """returns contents of bib tag as dict""" 230 """returns contents of bib tag as dict"""
220 return self.resource.meta.bib.getData(path=path, dom=dom) 231 return self.resource.meta.bib.getData(path=path, dom=dom)
221 232