Prevent versions with future dates to be added to release data (#531)
When this happens, it breaks the build of the site. Closes https://github.com/endoflife-date/endoflife.date/issues/8936.
This commit is contained in:
@@ -112,6 +112,10 @@ def today_at_midnight() -> datetime.datetime:
|
||||
"""Create a datetime object with today's date, at midnight."""
|
||||
return datetime.datetime.now(tz=datetime.timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0)
|
||||
|
||||
def today_at_end_of_day() -> datetime.datetime:
|
||||
"""Create a datetime object with today's date, at the end of the day."""
|
||||
return datetime.datetime.now(tz=datetime.timezone.utc).replace(hour=23, minute=59, second=59, microsecond=999999)
|
||||
|
||||
def today() -> datetime.date:
|
||||
"""Create a date object with today's date."""
|
||||
return datetime.datetime.now(tz=datetime.timezone.utc).date()
|
||||
|
||||
@@ -7,7 +7,7 @@ from pathlib import Path
|
||||
from types import TracebackType
|
||||
from typing import Optional, Type
|
||||
|
||||
from . import endoflife
|
||||
from . import dates, endoflife
|
||||
|
||||
SRC_DIR = Path('src')
|
||||
DATA_DIR = Path('releases')
|
||||
@@ -182,6 +182,10 @@ class ProductData:
|
||||
|
||||
def declare_version(self, version_name: str, versions_date: datetime) -> None:
|
||||
self.updated = True
|
||||
if versions_date > dates.today_at_end_of_day():
|
||||
logging.warning(f"skipping declaration of version {version_name} with future date {versions_date} for {self}")
|
||||
return
|
||||
|
||||
if version_name in self.versions and self.versions[version_name].date() != versions_date:
|
||||
logging.info(f"overwriting {version_name} ({self.get_version(version_name).date()} -> {versions_date}) for {self}")
|
||||
self.versions[version_name].replace_date(versions_date)
|
||||
|
||||
Reference in New Issue
Block a user