Add new declare method (#461)

For manually declare (or overwrite) missing or erroneous versions.
This commit is contained in:
Marc Wrobel
2025-07-07 22:48:15 +02:00
parent ee297fd97d
commit 08808282dd
5 changed files with 21 additions and 41 deletions

View File

@@ -2,7 +2,7 @@ import argparse
import json
import logging
import sys
from datetime import datetime, timezone
from datetime import date, datetime, timezone
from pathlib import Path
from types import TracebackType
from typing import Optional, Type
@@ -62,6 +62,7 @@ class ProductRelease:
def set_field(self, field: str, new_value: any) -> None:
new_value = new_value.strftime("%Y-%m-%d") if isinstance(new_value, datetime) else new_value
new_value = new_value.strftime("%Y-%m-%d") if isinstance(new_value, date) else new_value
old_value = self.data.get(field, None)
if old_value != new_value:
self.data[field] = new_value
@@ -178,10 +179,6 @@ class ProductData:
logging.info(f"adding version {version} ({date}) to {self}")
self.versions[version] = ProductVersion.of(self.name, version, date)
def declare_versions(self, dates_by_version: dict[str, datetime]) -> None:
for (version, date) in dates_by_version.items():
self.declare_version(version, date)
def remove_version(self, version: str) -> None:
if version not in self.versions:
logging.warning(f"version {version} cannot be removed as it does not exist for {self}")