diff options
author | Leonard Richardson <leonardr@segfault.org> | 2020-05-17 13:49:43 -0400 |
---|---|---|
committer | Leonard Richardson <leonardr@segfault.org> | 2020-05-17 13:49:43 -0400 |
commit | 56d128279162d3a5696cfba767891c843393e372 (patch) | |
tree | a8797de2fa46769924b4fe3bd165f4c42de0f408 /bs4 | |
parent | 329fc7fd408388ac7b62e8703962f28aae0f3a9d (diff) |
Documented some recently added customization features.
Diffstat (limited to 'bs4')
-rw-r--r-- | bs4/builder/_htmlparser.py | 8 | ||||
-rw-r--r-- | bs4/tests/test_htmlparser.py | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/bs4/builder/_htmlparser.py b/bs4/builder/_htmlparser.py index 476fd79..1d96a66 100644 --- a/bs4/builder/_htmlparser.py +++ b/bs4/builder/_htmlparser.py @@ -315,9 +315,17 @@ class HTMLParserTreeBuilder(HTMLTreeBuilder): invoked. :param kwargs: Keyword arguments for the superclass constructor. """ + # Some keyword arguments will be pulled out of kwargs and placed + # into parser_kwargs. + extra_parser_kwargs = dict() + for arg in ('on_duplicate_attribute',): + if arg in kwargs: + value = kwargs.pop(arg) + extra_parser_kwargs[arg] = value super(HTMLParserTreeBuilder, self).__init__(**kwargs) parser_args = parser_args or [] parser_kwargs = parser_kwargs or {} + parser_kwargs.update(extra_parser_kwargs) if CONSTRUCTOR_TAKES_STRICT and not CONSTRUCTOR_STRICT_IS_DEPRECATED: parser_kwargs['strict'] = False if CONSTRUCTOR_TAKES_CONVERT_CHARREFS: diff --git a/bs4/tests/test_htmlparser.py b/bs4/tests/test_htmlparser.py index 7b06f89..7ee91aa 100644 --- a/bs4/tests/test_htmlparser.py +++ b/bs4/tests/test_htmlparser.py @@ -67,9 +67,7 @@ class HTMLParserTreeBuilderSmokeTest(SoupTest, HTMLTreeBuilderSmokeTest): # You can also get this behavior explicitly. def assert_attribute(on_duplicate_attribute, expected): soup = self.soup( - markup, parser_kwargs=dict( - on_duplicate_attribute=on_duplicate_attribute - ) + markup, on_duplicate_attribute=on_duplicate_attribute ) self.assertEquals(expected, soup.a['href']) |