Comment 1 for bug 1483781

Revision history for this message
Jan Murre (jan-murre-gmail) wrote :

A possible fix for this problem:

--- bs4/builder/_html5lib.py 2015-06-28 19:39:36 +0000
+++ bs4/builder/_html5lib.py 2015-08-27 13:03:59 +0000
@@ -120,7 +120,10 @@
         if (name in list_attr['*']
             or (self.element.name in list_attr
                 and name in list_attr[self.element.name])):
- value = whitespace_re.split(value)
+ # Node that is being cloned possibly already has
+ # attributes with list values
+ if not isinstance(value, list):
+ value = whitespace_re.split(value)
         self.element[name] = value
     def items(self):
         return list(self.attrs.items())

However, the "<a />" will be duplicated in the output.