diff options
author | Leonard Richardson <leonardr@segfault.org> | 2019-07-21 14:58:16 -0400 |
---|---|---|
committer | Leonard Richardson <leonardr@segfault.org> | 2019-07-21 14:58:16 -0400 |
commit | b2294f4f05d9e8583613560986f8aa64b18866b9 (patch) | |
tree | 5af13a59eca15ea082cb46ea286bc9c5b91996da /bs4/element.py | |
parent | 819fa4255063d6b8d16f62469afa6c6e504f284a (diff) |
Adapt Chris Mayo's code to track line number and position when using html.parser.
Diffstat (limited to 'bs4/element.py')
-rw-r--r-- | bs4/element.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bs4/element.py b/bs4/element.py index 73e3867..41acf45 100644 --- a/bs4/element.py +++ b/bs4/element.py @@ -724,7 +724,7 @@ class Tag(PageElement): def __init__(self, parser=None, builder=None, name=None, namespace=None, prefix=None, attrs=None, parent=None, previous=None, - is_xml=None): + is_xml=None, lineno=None, offset=None): "Basic constructor." if parser is None: @@ -738,6 +738,10 @@ class Tag(PageElement): self.name = name self.namespace = namespace self.prefix = prefix + if ((not builder or builder.store_line_numbers) + and (lineno is not None or offset is not None)): + self.lineno = lineno + self.offset = offset if attrs is None: attrs = {} elif attrs: |