From 7199b7fd313be5fdc18f8c469e79e1aaafbf1b7f Mon Sep 17 00:00:00 2001 From: "Dan@DelStongo" Date: Tue, 2 Dec 2025 20:20:24 -0700 Subject: [PATCH 1/2] replaced dummy bs4 package with real beautifulsoup4 package --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3c0a475..4fdb197 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -bs4 +beautifulsoup4 docutils numpy typing_extensions From a7359461f9a1fda742edd08748753571edc6b42b Mon Sep 17 00:00:00 2001 From: Daniel Stadelman Date: Wed, 3 Dec 2025 10:40:17 -0700 Subject: [PATCH 2/2] refactor: replace `findAll` with `find_all` for consistency in HTML parsing --- dashtable/html2data/extract_spans.py | 8 ++++---- dashtable/html2data/extract_table.py | 6 +++--- dashtable/html2data/get_html_column_count.py | 8 ++++---- dashtable/html2data/headers_present.py | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/dashtable/html2data/extract_spans.py b/dashtable/html2data/extract_spans.py index 06df757..2594156 100755 --- a/dashtable/html2data/extract_spans.py +++ b/dashtable/html2data/extract_spans.py @@ -28,7 +28,7 @@ def extract_spans(html_string: str) -> Optional[DATA_SPANS]: if not table: return [] - trs = table.findAll('tr') + trs = table.find_all('tr') if len(trs) == 0: return [] @@ -37,12 +37,12 @@ def extract_spans(html_string: str) -> Optional[DATA_SPANS]: for tr in range(len(trs)): if tr == 0: - ths = trs[tr].findAll('th') + ths = trs[tr].find_all('th') if len(ths) == 0: - ths = trs[tr].findAll('td') + ths = trs[tr].find_all('td') tds = ths else: - tds = trs[tr].findAll('td') + tds = trs[tr].find_all('td') if spans_arr is None: column = 0 diff --git a/dashtable/html2data/extract_table.py b/dashtable/html2data/extract_table.py index 67607e0..7ffcde0 100755 --- a/dashtable/html2data/extract_table.py +++ b/dashtable/html2data/extract_table.py @@ -37,14 +37,14 @@ def extract_table(html_string, row_count, column_count): if not table: return '' - trs = table.findAll('tr') + trs = table.find_all('tr') if len(trs) == 0: return [['']] for tr in range(len(trs)): - ths = trs[tr].findAll('th') + ths = trs[tr].find_all('th') if len(ths) == 0: - tds = trs[tr].findAll('td') + tds = trs[tr].find_all('td') else: tds = ths diff --git a/dashtable/html2data/get_html_column_count.py b/dashtable/html2data/get_html_column_count.py index f5e7160..5c33df5 100755 --- a/dashtable/html2data/get_html_column_count.py +++ b/dashtable/html2data/get_html_column_count.py @@ -23,17 +23,17 @@ def get_html_column_count(html_string): return 0 column_counts = [] - trs = table.findAll('tr') + trs = table.find_all('tr') if len(trs) == 0: return 0 for tr in range(len(trs)): if tr == 0: - tds = trs[tr].findAll('th') + tds = trs[tr].find_all('th') if len(tds) == 0: - tds = trs[tr].findAll('td') + tds = trs[tr].find_all('td') else: - tds = trs[tr].findAll('td') + tds = trs[tr].find_all('td') count = 0 for td in tds: diff --git a/dashtable/html2data/headers_present.py b/dashtable/html2data/headers_present.py index 0aa5902..7fde203 100755 --- a/dashtable/html2data/headers_present.py +++ b/dashtable/html2data/headers_present.py @@ -21,7 +21,7 @@ def headers_present(html_string): if not table: return False - th = table.findAll('th') + th = table.find_all('th') if len(th) > 0: return True else: