Skip to content

Commit ca16eb6

Browse files
committed
fix: ext: add linkcheck_sitemap: support < v8.1.3
The _Status enum was added on this version. Signed-off-by: Jorge Marques <[email protected]>
1 parent cca6104 commit ca16eb6

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

adi_doctools/ext/linkcheck_sitemap.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@
1010
import xml.etree.ElementTree as ET
1111
from typing import TYPE_CHECKING
1212
from urllib.parse import urljoin, urlparse, urlunparse
13+
from packaging.version import Version
1314

1415
from sphinx.util import logging
1516
from sphinx.util import requests
17+
from sphinx import __version__ as __sphinx_version__
1618

1719
if TYPE_CHECKING:
1820
from sphinx.application import Sphinx
@@ -158,14 +160,20 @@ def patch_linkcheck_worker(app: Sphinx, config: Config) -> None:
158160
if not hasattr(app, 'builder') or app.builder.name != 'linkcheck':
159161
return
160162

161-
from sphinx.builders.linkcheck import HyperlinkAvailabilityCheckWorker, _Status
163+
from sphinx.builders.linkcheck import HyperlinkAvailabilityCheckWorker
164+
165+
if Version(__sphinx_version__) > Version('8.1.3'):
166+
from sphinx.builders.linkcheck import _Status
167+
working = _Status.WORKING
168+
else:
169+
working = 'working'
162170

163171
original_check = HyperlinkAvailabilityCheckWorker._check
164172

165173
def patched_check(self, docname: str, uri: str, hyperlink) -> tuple:
166174
"""Patched _check method that handles in-sitemap URIs."""
167175
if uri.endswith(' (from sitemap)'):
168-
return _Status.WORKING, '', 0
176+
return working, '', 0
169177
return original_check(self, docname, uri, hyperlink)
170178

171179
HyperlinkAvailabilityCheckWorker._check = patched_check

0 commit comments

Comments
 (0)