Mercurial > hg > MetaDataProvider
diff MetaDataFolder.py @ 27:a0d273542509
better DRI handling.
author | casties |
---|---|
date | Wed, 15 Aug 2012 17:07:37 +0200 |
parents | a19575be96e8 |
children | 40508e672841 |
line wrap: on
line diff
--- a/MetaDataFolder.py Mon Jul 30 19:43:23 2012 +0200 +++ b/MetaDataFolder.py Wed Aug 15 17:07:37 2012 +0200 @@ -143,7 +143,7 @@ if mdObj is not None: return mdObj.getData(path=path, dom=dom, recursive=recursive, all=all, allText=allText) else: - logging.error("getXmlPathData: MetaData element at '%s' not found!"%xmlpath) + logging.error("getXmlPathData: MetaData object for '%s' not found!"%xmlpath) return None def getXmlPathFormatted(self, xmlpath, template, path=None, dom=None, data=None, allFields=False, recursive=0, all=False, allText=False): @@ -170,7 +170,7 @@ return fmt else: - logging.error("getXmlPathFormatted: MetaData element at '%s' not found!"%xmlpath) + logging.error("getXmlPathFormatted: MetaData object for '%s' not found!"%xmlpath) return '' def getResourceData(self, path=None, dom=None): @@ -212,19 +212,24 @@ def getDRI(self, path=None, dom=None, type="escidoc"): """returns the DRI of the document""" dris = self.getXmlPathData('resource/meta/dri', path=path, dom=dom, all=True) - logging.debug("getDRI: dris=%s"%repr(dris)) + #logging.debug("getDRI: dris=%s"%repr(dris)) if dris is None: return None for dri in dris: - logging.debug("getDRI: dri=%s"%dri) + #logging.debug("getDRI: dri=%s"%dri) + if type is None: + # no type -- take the first one + return dri.get('@text', None) + + # use element with matching @type att = dri.get('@attr', None) if att is not None: if (att.get('type', None) == type): return dri.get('@text', None) return None - #return self.resource.meta.getDRI(path=path, dom=dom, type=type) + def getBibData(self, path=None, dom=None): """returns contents of bib tag as dict"""