diff --git a/src/ansys_sphinx_theme/__init__.py b/src/ansys_sphinx_theme/__init__.py index dc080feb0..1c6e87c0b 100644 --- a/src/ansys_sphinx_theme/__init__.py +++ b/src/ansys_sphinx_theme/__init__.py @@ -1,4 +1,5 @@ """This is the ansys-sphinx-theme module.""" +import logging import pathlib from typing import Any, Dict @@ -159,28 +160,32 @@ def fix_edit_link_page(link: str) -> str: if "_autosummary" in pagename: for obj_node in list(doctree.findall(addnodes.desc)): - domain = obj_node.get("domain") - for signode in obj_node: - if not isinstance(signode, addnodes.desc_signature): - continue - # Convert signode to a specified format - info = {} - for key in DOMAIN_KEYS.get(domain, []): - value = signode.get(key) - if not value: - value = "" - info[key] = value - if not info: - continue - # This is an API example - return sphinx_linkcode_resolve( - domain=domain, - info=info, - library=f"{github_user}/{github_repo}", - source_path=github_source, - github_version=kind, - edit=True, - ) + try: + domain = obj_node.get("domain") + for signode in obj_node: + if not isinstance(signode, addnodes.desc_signature): + continue + # Convert signode to a specified format + info = {} + for key in DOMAIN_KEYS.get(domain, []): + value = signode.get(key) + if not value: + value = "" + info[key] = value + if not info: + continue + # This is an API example + return sphinx_linkcode_resolve( + domain=domain, + info=info, + library=f"{github_user}/{github_repo}", + source_path=github_source, + github_version=kind, + edit=True, + ) + except ValueError as e: + logging.debug(f"An error occurred: {e}") # Log the exception as debug info + return link elif "autoapi" in pagename: for obj_node in list(doctree.findall(addnodes.desc)):