diff options
Diffstat (limited to 'bs4/builder')
-rw-r--r-- | bs4/builder/__init__.py | 2 | ||||
-rw-r--r-- | bs4/builder/_html5lib.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/bs4/builder/__init__.py b/bs4/builder/__init__.py index 9f789f3..2e39745 100644 --- a/bs4/builder/__init__.py +++ b/bs4/builder/__init__.py @@ -122,7 +122,7 @@ class TreeBuilder(object): # A value for these tag/attribute combinations is a space- or # comma-separated list of CDATA, rather than a single CDATA. - DEFAULT_CDATA_LIST_ATTRIBUTES = {} + DEFAULT_CDATA_LIST_ATTRIBUTES = defaultdict(list) # Whitespace should be preserved inside these tags. DEFAULT_PRESERVE_WHITESPACE_TAGS = set() diff --git a/bs4/builder/_html5lib.py b/bs4/builder/_html5lib.py index 58bc176..12dee07 100644 --- a/bs4/builder/_html5lib.py +++ b/bs4/builder/_html5lib.py @@ -249,9 +249,9 @@ class AttrList(object): # If this attribute is a multi-valued attribute for this element, # turn its value into a list. list_attr = self.element.cdata_list_attributes or {} - if (name in list_attr.get('*') + if (name in list_attr.get('*', []) or (self.element.name in list_attr - and name in list_attr[self.element.name])): + and name in list_attr.get(self.element.name, []))): # A node that is being cloned may have already undergone # this procedure. if not isinstance(value, list): |