#15908: Add features attribute to ReleaseInfo

This commit is contained in:
Jeremy Stretch 2024-07-19 17:04:06 -04:00
parent 1acb9902e7
commit 4a53a96541
2 changed files with 12 additions and 9 deletions

View File

@ -1,2 +1,3 @@
version: "4.1.0" version: "4.1.0"
designation: "dev" edition: Community
designation: dev

View File

@ -1,8 +1,8 @@
import datetime import datetime
import os import os
import yaml import yaml
from dataclasses import dataclass from dataclasses import dataclass, field
from typing import Union from typing import List, Union
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
@ -15,9 +15,10 @@ LOCAL_RELEASE_PATH = 'local/release.yaml'
@dataclass @dataclass
class ReleaseInfo: class ReleaseInfo:
version: str version: str
edition: str = 'Community' edition: str
published: Union[datetime.date, None] = None published: Union[datetime.date, None] = None
designation: Union[str, None] = None designation: Union[str, None] = None
features: List = field(default_factory=list)
@property @property
def full_version(self): def full_version(self):
@ -46,11 +47,12 @@ def load_release_data():
local_data = yaml.safe_load(release_file) local_data = yaml.safe_load(release_file)
except FileNotFoundError: except FileNotFoundError:
local_data = {} local_data = {}
if type(local_data) is not dict: if local_data is not None:
raise ImproperlyConfigured( if type(local_data) is not dict:
f"{LOCAL_RELEASE_PATH}: Local release data must be defined as a dictionary." raise ImproperlyConfigured(
) f"{LOCAL_RELEASE_PATH}: Local release data must be defined as a dictionary."
data.update(local_data) )
data.update(local_data)
# Convert the published date to a date object # Convert the published date to a date object
if 'published' in data: if 'published' in data: