refactor: use the same code for all three types of figures

This commit is contained in:
Lars Weiler
2026-01-06 14:22:22 +01:00
committed by Lars Weiler
parent b2f834df44
commit 4eaf741397
+7 -16
View File
@@ -211,24 +211,15 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
"""Recursively traverse the document tree to collect figures.""" """Recursively traverse the document tree to collect figures."""
if hasattr(token, "children") and token.children is not None: if hasattr(token, "children") and token.children is not None:
for child in token.children: for child in token.children:
# Check if this is a Picture token # Check if this is a Picture, Photo, or Table token
if isinstance(child, Picture): if isinstance(child, (Picture, Photo, Table)):
self.figure_counter += 1 # Get the reference ID (ref for Picture/Photo, name for Table)
hierarchical_num = self._format_figure_number(self.figure_counter) ref_id = getattr(child, "ref", None) or getattr(child, "name", None)
self.figure_map[child.ref] = hierarchical_num
child.number = hierarchical_num if ref_id: # Only number figures with a reference ID
# Check if this is a Photo token
elif isinstance(child, Photo):
self.figure_counter += 1
hierarchical_num = self._format_figure_number(self.figure_counter)
self.figure_map[child.ref] = hierarchical_num
child.number = hierarchical_num
# Check if this is a Table token
elif isinstance(child, Table):
if child.name: # Only number tables with names
self.figure_counter += 1 self.figure_counter += 1
hierarchical_num = self._format_figure_number(self.figure_counter) hierarchical_num = self._format_figure_number(self.figure_counter)
self.figure_map[child.name] = hierarchical_num self.figure_map[ref_id] = hierarchical_num
child.number = hierarchical_num child.number = hierarchical_num
else: else:
child.number = "" child.number = ""