Mercurial > hg > MetaDataProvider
diff MetaData.py @ 28:40508e672841
richer metadata for bib. still not sufficient though.
author | casties |
---|---|
date | Mon, 20 Aug 2012 20:14:45 +0200 |
parents | a0d273542509 |
children | b3428e281ee2 |
line wrap: on
line diff
--- a/MetaData.py Wed Aug 15 17:07:37 2012 +0200 +++ b/MetaData.py Mon Aug 20 20:14:45 2012 +0200 @@ -181,11 +181,18 @@ if self.mappingSelectAttribute: # put type in @type - attr = data.get('@attr', None) + if all: + attr = data[0].get('@attr', None) + else: + attr = data.get('@attr', None) + if attr: type = attr.get(self.mappingSelectAttribute, None) if type is not None: - data['@type'] = normalizeFieldName(type) + if all: + data[0]['@type'] = normalizeFieldName(type) + else: + data['@type'] = normalizeFieldName(type) return data @@ -277,7 +284,7 @@ dc = fields[bk].get('dcmap', None) if dc: # add value - if dcData.get('dc',None): + if dcData.get('dc', None): # key exists - append dcData[dc] += '/' + data[bk] else: @@ -285,7 +292,7 @@ return dcData - def getFormatted(self, template, path=None, dom=None, data=None, allFields=False): + def getFormatted(self, template, path=None, dom=None, data=None, xdata=None, allFields=False): """returns string with document data formatted according to template. gets data from server or dom or pre-parsed data.""" logging.debug("getFormatted(template=%s)"%(template)) @@ -318,7 +325,7 @@ fields = {} #logging.debug(tp) - return tp(mdmap=fields, md=data) + return tp(mdmap=fields, md=data, mdx=xdata) def correctPath(self,path,remove=None,prefix=None,cut=0):