Skip to content

Commit 7a2b1ee

Browse files
committed
Link standalone versions from joint release PEPs
1 parent 4cd9103 commit 7a2b1ee

4 files changed

Lines changed: 28 additions & 40 deletions

File tree

pep_sphinx_extensions/pep_zero_generator/pep_index_generator.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,22 +67,11 @@ def build_release_peps(peps: list[parser.PEP]) -> dict[str, int]:
6767
(e.g. "2.6, 3.0"), so individual versions also resolve.
6868
"""
6969
release_peps: dict[str, int] = {}
70-
release_versions = {
71-
pep.python_version
72-
for pep in peps
73-
if pep.python_version and "release" in pep.topic
74-
}
7570

7671
for pep in peps:
77-
if not pep.python_version or "release" not in pep.topic:
78-
continue
79-
80-
release_peps[pep.python_version] = pep.number
81-
82-
if "," in pep.python_version:
72+
if pep.python_version and "release" in pep.topic:
8373
for version in map(str.strip, pep.python_version.split(",")):
84-
if version not in release_versions:
85-
release_peps[version] = pep.number
74+
release_peps[version] = pep.number
8675

8776
return release_peps
8877

pep_sphinx_extensions/pep_zero_generator/writer.py

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -88,26 +88,19 @@ def emit_pep_row(
8888
self.emit_text(f" - :pep:`{title.replace('`', '')} <{number}>`")
8989
self.emit_text(f" - {authors}")
9090
if python_version is not None:
91-
pep_number = self.release_peps.get(python_version)
91+
linked_versions = []
9292

93-
if pep_number is not None:
94-
self.emit_text(
95-
f" - :pep:`{python_version} <{pep_number}>`"
96-
)
97-
else:
98-
versions = [version.strip() for version in python_version.split(",")]
99-
100-
linked_versions = []
101-
for version in versions:
102-
release_pep = self.release_peps.get(version)
103-
if release_pep is not None:
104-
linked_versions.append(
105-
f":pep:`{version} <{release_pep}>`"
106-
)
107-
else:
108-
linked_versions.append(version)
109-
110-
self.emit_text(f" - {', '.join(linked_versions)}")
93+
for version in map(str.strip, python_version.split(",")):
94+
release_pep = self.release_peps.get(version)
95+
96+
if release_pep is not None:
97+
linked_versions.append(
98+
f":pep:`{version} <{release_pep}>`"
99+
)
100+
else:
101+
linked_versions.append(version)
102+
103+
self.emit_text(f" - {', '.join(linked_versions)}")
111104

112105
def emit_column_headers(self, *, include_version=True) -> None:
113106
"""Output the column headers for the PEP indices."""

pep_sphinx_extensions/tests/pep_zero_generator/test_pep_index_generator.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,5 @@ def test_build_release_peps_links_individual_versions_from_joint_release_pep():
1818

1919
release_peps = pep_index_generator.build_release_peps(peps)
2020

21-
assert release_peps["2.6, 3.0"] == 361
2221
assert release_peps["2.6"] == 361
2322
assert release_peps["3.0"] == 361

pep_sphinx_extensions/tests/pep_zero_generator/test_writer.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,22 +88,29 @@ def test_sort_authors():
8888
assert out == ["Aardvark, Alfred", "lowercase, laurence", "Zebra, Zoë"]
8989

9090

91+
release_peps = {
92+
"2.4": 320,
93+
"2.5": 356,
94+
"2.6": 361,
95+
}
96+
97+
9198
@pytest.mark.parametrize(
92-
("python_version", "release_peps", "expected"),
99+
("python_version", "expected"),
93100
[
94-
("3.14", {"3.14": 745}, " - :pep:`3.14 <745>`"),
95-
("2.6, 3.0", {"2.6, 3.0": 361}, " - :pep:`2.6, 3.0 <361>`"),
96-
("2.7, 3.1", {"2.7, 3.1": 375}, " - :pep:`2.7, 3.1 <375>`"),
101+
("3.14", " - 3.14"),
97102
(
98103
"2.4, 2.5, 2.6",
99-
{"2.4, 2.5, 2.6": 320},
100-
" - :pep:`2.4, 2.5, 2.6 <320>`",
104+
" - :pep:`2.4 <320>`, :pep:`2.5 <356>`, :pep:`2.6 <361>`",
105+
),
106+
(
107+
"2.4, 2.9",
108+
" - :pep:`2.4 <320>`, 2.9",
101109
),
102110
],
103111
)
104112
def test_emit_pep_row_links_python_version_to_release_pep(
105113
python_version,
106-
release_peps,
107114
expected,
108115
):
109116
# Arrange

0 commit comments

Comments
 (0)