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):