Files
endoflife-date-release-data/src/_remove_invalid_releases.py
Marc Wrobel 9364fee53c Warn when releases have not been updated for a long time (#521)
Raise an alert during the daily auto-update about stale releases, e.g.:

- non-EOL releases with latest releases not updated in a year,
- non-EOL releases with a release date older than a year.

The threshold is configurable.
2025-09-20 09:43:39 +02:00

24 lines
880 B
Python

import logging
from common import dates, releasedata
"""Remove empty releases or releases which are released in the future."""
TODAY = dates.today_at_midnight()
frontmatter, _ = releasedata.parse_argv(ignore_auto_config=True)
with releasedata.ProductData(frontmatter.name) as product_data:
releases = list(product_data.releases.values()) # a copy is needed to avoid modifying the dict while iterating
product_data.updated = True # mark the product data as updated even when there are no changes
for release in releases:
if release.is_empty():
product_data.remove_release(release.name(), "empty release")
continue
if release.was_released_after(TODAY):
product_data.remove_release(release.name(), "future release")
continue
logging.debug(f"Keeping release {release} in {product_data.name}")