Skip to content

Commit 7a4cd7b

Browse files
committed
fix link check
1 parent 3e1705b commit 7a4cd7b

File tree

3 files changed

+58
-5
lines changed

3 files changed

+58
-5
lines changed

doc/source/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@
8888
"python": ('https://docs.python.org/3', None)
8989
}
9090

91+
linkcheck_allow_redirects = True
92+
9193

9294
def setup(app):
9395
# Register a sphinx.ext.autodoc.between listener to ignore everything

justfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,13 @@ check-docs-links: _link_check
143143
from pathlib import Path
144144
# The json output isn't valid, so we have to fix it before we can process.
145145
data = json.loads(f"[{','.join((Path(os.getcwd()) / 'doc/build/output.json').read_text().splitlines())}]")
146-
broken_links = [link for link in data if link["status"] not in {"working", "redirected", "unchecked", "ignored"}]
146+
broken_links = [
147+
link for link in data
148+
if (
149+
link["status"] not in {"working", "redirected", "unchecked", "ignored"}
150+
and link["uri"] not in {"https://www.mysql.com"}
151+
)
152+
]
147153
if broken_links:
148154
for link in broken_links:
149155
print(f"[{link['status']}] {link['filename']}:{link['lineno']} -> {link['uri']}", file=sys.stderr)

tests/test_utils.py

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -334,9 +334,11 @@ class AliasesFlag(IntFlagProperties):
334334
A = 1 << 0, "a"
335335
B = 1 << 1, "b"
336336
C = 1 << 2, "c"
337+
337338
AB = A | B, "ab"
338339
BC = B | C, "bc"
339340
ABC = A | B | C, "abc"
341+
340342
AA = A, "aa"
341343
BB = B, "bb"
342344

@@ -436,13 +438,19 @@ class AliasesFlag(FlagChoices):
436438
A = 1 << 0, "a"
437439
B = 1 << 1, "b"
438440
C = 1 << 2, "c"
439-
AB = A[0] | B[0], "ab"
440-
BC = B[0] | C[0], "bc"
441-
ABC = A[0] | B[0] | C[0], "abc"
441+
442+
if sys.version_info[:2] >= (3, 14):
443+
AB = A | B, "ab"
444+
BC = B | C, "bc"
445+
ABC = A | B | C, "abc"
446+
else:
447+
AB = A[0] | B[0], "ab"
448+
BC = B[0] | C[0], "bc"
449+
ABC = A[0] | B[0] | C[0], "abc"
442450

443451
@property
444452
def not_a_member(self):
445-
return self.A[0] | self.B[0] | self.C[0]
453+
return self.A | self.B | self.C
446454

447455
self.assertEqual(
448456
list(members(NoAliasesFlag)),
@@ -470,3 +478,40 @@ def not_a_member(self):
470478
AliasesFlag.ABC,
471479
],
472480
)
481+
482+
class AliasesFlagWithProp(FlagChoices):
483+
prop: bool
484+
485+
A = 1 << 0, "a", False
486+
B = 1 << 1, "b", False
487+
C = 1 << 2, "c", False
488+
489+
if sys.version_info[:2] >= (3, 14):
490+
AB = A | B, "ab", True
491+
BC = B | C, "bc", True
492+
ABC = A | B | C, "abc", True
493+
else:
494+
AB = A[0] | B[0], "ab", True
495+
BC = B[0] | C[0], "bc", True
496+
ABC = A[0] | B[0] | C[0], "abc", True
497+
498+
@property
499+
def not_a_member(self):
500+
return self.A | self.B | self.C
501+
502+
self.assertEqual(
503+
list(members(AliasesFlagWithProp, aliases=False)),
504+
[AliasesFlagWithProp.A, AliasesFlagWithProp.B, AliasesFlagWithProp.C],
505+
)
506+
507+
self.assertEqual(
508+
list(members(AliasesFlagWithProp)),
509+
[
510+
AliasesFlagWithProp.A,
511+
AliasesFlagWithProp.B,
512+
AliasesFlagWithProp.C,
513+
AliasesFlagWithProp.AB,
514+
AliasesFlagWithProp.BC,
515+
AliasesFlagWithProp.ABC,
516+
],
517+
)

0 commit comments

Comments
 (0)