From 4a53a96541413f64ffcac3705f232c4fe9e6c482 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 19 Jul 2024 17:04:06 -0400 Subject: [PATCH] #15908: Add features attribute to ReleaseInfo --- netbox/release.yaml | 3 ++- netbox/utilities/release.py | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/netbox/release.yaml b/netbox/release.yaml index 83bddf615..eb059a4f3 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,2 +1,3 @@ version: "4.1.0" -designation: "dev" +edition: Community +designation: dev diff --git a/netbox/utilities/release.py b/netbox/utilities/release.py index e41e6d2bf..4ebe59819 100644 --- a/netbox/utilities/release.py +++ b/netbox/utilities/release.py @@ -1,8 +1,8 @@ import datetime import os import yaml -from dataclasses import dataclass -from typing import Union +from dataclasses import dataclass, field +from typing import List, Union from django.core.exceptions import ImproperlyConfigured @@ -15,9 +15,10 @@ LOCAL_RELEASE_PATH = 'local/release.yaml' @dataclass class ReleaseInfo: version: str - edition: str = 'Community' + edition: str published: Union[datetime.date, None] = None designation: Union[str, None] = None + features: List = field(default_factory=list) @property def full_version(self): @@ -46,11 +47,12 @@ def load_release_data(): local_data = yaml.safe_load(release_file) except FileNotFoundError: local_data = {} - if type(local_data) is not dict: - raise ImproperlyConfigured( - f"{LOCAL_RELEASE_PATH}: Local release data must be defined as a dictionary." - ) - data.update(local_data) + if local_data is not None: + if type(local_data) is not dict: + raise ImproperlyConfigured( + f"{LOCAL_RELEASE_PATH}: Local release data must be defined as a dictionary." + ) + data.update(local_data) # Convert the published date to a date object if 'published' in data: