Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 7 additions & 14 deletions extensions/sphinx_inline_tabs/directive.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,9 @@ def walk_parsed_nodes(
if generated_tab_ids is None:
generated_tab_ids = set()
for parsed_node in parsed_nodes:
has_ids = True if hasattr(parsed_node, 'attributes') and parsed_node.attributes.get("ids") else False
node_info: str = (
f"type(parsed_node)={type(parsed_node)}; "
f"has_ids={has_ids}; "
f"has_ids={True if hasattr(parsed_node, 'attributes') and parsed_node.attributes["ids"] else False}; "
f"parent={parsed_node.parent!r}"
)
logger.debug(
Expand All @@ -134,14 +133,11 @@ def walk_parsed_nodes(

if isinstance(parsed_node, TabContainer):
tab_container_name: str = parsed_node.next_node(nodes.label).astext()
tab_ids = parsed_node.attributes.get("ids", [])
has_ids = True if tab_ids else False
first_id = tab_ids[0] if tab_ids else 'None'
logger.debug(
f"{LOG_PREFIX} walk_parsed_nodes({docname}|{tab_name}): [{level}/{tab_counter}] "
f"TabContainer({tab_container_name}); node.tab_counter={parsed_node.tab_counter} "
f"is_parsed={parsed_node.is_parsed}; has_ids={has_ids}; "
f"first_id={first_id}; "
f"is_parsed={parsed_node.is_parsed}; has_ids={True if parsed_node.attributes["ids"] else False}; "
f"first_id={parsed_node.attributes['ids'][0] if parsed_node.attributes['ids'] else 'None'}; "
f"increment tab_counter to {tab_counter + 1}"
)
sub_tab_name: str = tab_name
Expand All @@ -165,20 +161,17 @@ def walk_parsed_nodes(

elif isinstance(parsed_node, nodes.section):
section_title: str = parsed_node.next_node(nodes.title).astext()
section_ids = parsed_node.attributes.get("ids", [])
has_ids = True if section_ids else False
first_id = section_ids[0] if section_ids else 'None'
logger.debug(
f"{LOG_PREFIX} walk_parsed_nodes({docname}|{tab_name}): [{level}/{tab_counter}] section({section_title}); "
f"has_ids={has_ids}; "
f"first_id={first_id}; "
f"has_ids={True if parsed_node.attributes["ids"] else False}; "
f"first_id={parsed_node.attributes['ids'][0] if parsed_node.attributes['ids'] else 'None'}; "
)
# If the node has at least one `id` attribute
if section_ids:
if parsed_node.attributes["ids"]:
# Get the first `id` for the node
node_id: str = parsed_node.attributes["ids"][0]
# Create a new `id` value that includes the tab name, subsection level, and first node `id`
new_id: TabId = TabId(

tab_name=tab_name,
level=level,
tab_count=tab_counter,
Expand Down
Loading