Fix declare_version (#531)
Some scripts, such as declare.py, may provide dates and not datetimes. This update make the declare_version work for both.
This commit is contained in:
@@ -119,3 +119,7 @@ def today_at_end_of_day() -> datetime.datetime:
|
||||
def today() -> datetime.date:
|
||||
"""Create a date object with today's date."""
|
||||
return datetime.datetime.now(tz=datetime.timezone.utc).date()
|
||||
|
||||
def to_datetime(dt: datetime.date) -> datetime.datetime:
|
||||
"""Convert a date object to a datetime object at midnight."""
|
||||
return datetime.datetime(dt.year, dt.month, dt.day, tzinfo=datetime.timezone.utc)
|
||||
|
||||
@@ -180,8 +180,10 @@ class ProductData:
|
||||
def get_version(self, version_name: str) -> ProductVersion:
|
||||
return self.versions[version_name] if version_name in self.versions else None
|
||||
|
||||
def declare_version(self, version_name: str, versions_date: datetime) -> None:
|
||||
def declare_version(self, version_name: str, versions_date: datetime|date) -> None:
|
||||
self.updated = True
|
||||
|
||||
versions_date = dates.to_datetime(versions_date) if isinstance(versions_date, date) else versions_date
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user