src/reportlab/lib/attrmap.py
branchpy33
changeset 3763 d079e73fb7b0
parent 3762 4817e577522d
child 3791 fb8d3d2f8704
--- a/src/reportlab/lib/attrmap.py	Thu Aug 01 16:47:07 2013 +0100
+++ b/src/reportlab/lib/attrmap.py	Thu Aug 01 17:17:38 2013 +0100
@@ -70,22 +70,18 @@
         data = {}
         if BASE:
             if isinstance(BASE,AttrMap):
-                data = BASE.data                        #they used BASECLASS._attrMap
+                data = BASE
             else:
                 if not isSeq(BASE): BASE = (BASE,)
                 for B in BASE:
                     if hasattr(B,'_attrMap'):
-                        data.update(getattr(B._attrMap,'data',{}))
+                        data.update(B._attrMap)
                     else:
-                        raise ValueError('BASE=%s has wrong kind of value' % str(B))
+                        raise ValueError('BASE=%s has wrong kind of value' % repr(B))
 
         dict.__init__(self,data)
         self.remove(UNWANTED)
-        self.data.update(kw)
-
-    def update(self,kw):
-        if isinstance(kw,AttrMap): kw = kw.data
-        self.data.update(kw)
+        self.update(kw)
 
     def remove(self,unwanted):
         for k in unwanted: