8000 3.13 gets two years of bug fixes, earlier gets 1.5 years · python/devguide@5ed9dbf · GitHub
[go: up one dir, main page]

Skip to content

Commit 5ed9dbf

Browse files
committed
3.13 gets two years of bug fixes, earlier gets 1.5 years
1 parent 33b5f37 commit 5ed9dbf

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

_tools/generate_release_cycle.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ def parse_date(date_str: str) -> dt.date:
2525
return dt.date.fromisoformat(date_str)
2626

2727

28+
def parse_version(ver: str) -> list[int]:
29+
return [int(i) for i in ver["key"].split(".")]
30+
31+
2832
class Versions:
2933
"""For converting JSON to CSV and SVG."""
3034

@@ -35,8 +39,13 @@ def __init__(self, *, limit_to_active=False, special_py27=False) -> None:
3539
# Generate a few additional fields
3640
for key, version in self.versions.items():
3741
version["key"] = key
42+
ver_info = parse_version(version)
43+
if ver_info >= [3, 13]:
44+
full_years = 2
45+
else:
46+
full_years = 1.5
3847
version["first_release_date"] = r1 = parse_date(version["first_release"])
39-
version["start_security_date"] = r1 + dt.timedelta(days=2 * 365)
48+
version["start_security_date"] = r1 + dt.timedelta(days=full_years * 365)
4049
version["end_of_life_date"] = parse_date(version["end_of_life"])
4150

4251
self.cutoff = min(ver["first_release_date"] for ver in self.versions.values())
@@ -61,7 +70,7 @@ def __init__(self, *, limit_to_active=False, special_py27=False) -> None:
6170

6271
self.sorted_versions = sorted(
6372
self.versions.values(),
64-
key=lambda v: [int(i) for i in v["key"].split(".")],
73+
key=parse_version,
6574
reverse=True,
6675
)
6776

0 commit comments

Comments
 (0)
0