Skip to content

Commit 664aece

Browse files
committed
refactor: Be more robust when getting breadcrumbs/backlinks
1 parent ca304f0 commit 664aece

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/mkdocs_autorefs/_internal/plugin.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -383,12 +383,16 @@ def get_backlinks(self, *identifiers: str, from_url: str) -> dict[str, set[Backl
383383
backlinks = self._backlinks.get(identifier, {})
384384
for backlink_type, backlink_urls in backlinks.items():
385385
for backlink_url in backlink_urls:
386-
relative_backlinks[backlink_type].add(self._get_backlink(from_url, backlink_url))
386+
if backlink := self._get_backlink(from_url, backlink_url):
387+
relative_backlinks[backlink_type].add(backlink)
387388
return relative_backlinks
388389

389-
def _get_backlink(self, from_url: str, backlink_url: str) -> Backlink:
390+
def _get_backlink(self, from_url: str, backlink_url: str) -> Backlink | None:
390391
breadcrumbs = []
391-
breadcrumb: BacklinkCrumb | None = self._breadcrumbs_map[backlink_url]
392+
breadcrumb: BacklinkCrumb | None
393+
if not (breadcrumb := self._breadcrumbs_map.get(backlink_url)):
394+
_log.debug("No breadcrumb for backlink URL %s", backlink_url)
395+
return None
392396
while breadcrumb:
393397
breadcrumbs.append(
394398
BacklinkCrumb(

0 commit comments

Comments
 (0)