Skip to content

Commit f60775b

Browse files
authored
Merge pull request #10 from krrome/bug-skip-empty-headers-list
fix #8
2 parents 7cb5881 + 243caa3 commit f60775b

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

hierarchical/hierarchy_builder.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,8 @@ def _cluster_headings_dbscan(self) -> dict[int, int]:
309309
return heading_to_level
310310

311311
def infer(self) -> HierarchicalHeader:
312+
if len(self.headings) == 0:
313+
return HierarchicalHeader()
312314
try:
313315
if (root_node := self._infer_from_numbering()) is not None:
314316
return root_node

tests/test_toc.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1994,6 +1994,12 @@ def test_sample_9():
19941994
compare(str(root_node), 9)
19951995

19961996

1997+
def test_skip_empty_header_list():
1998+
root_node = create_toc([])
1999+
assert root_node.parent is None
2000+
assert len(root_node.children) == 0
2001+
2002+
19972003
def test_flatten_hierarchy_tree():
19982004
root_node = create_toc(sample_0)
19992005
current_non_num_level = 1

0 commit comments

Comments
 (0)