Skip to content

Commit 2b49884

Browse files
nkraetzschmarNotTheEvilOne
authored andcommitted
feat: use ConfigParser for reading .requirements file
also add fallback to feature based decision if no .requirements file or if keys are missing in order to provide backwards compatibility
1 parent 28a3f77 commit 2b49884

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

src/gardenlinux/s3/s3_artifacts.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -141,18 +141,24 @@ def upload_from_directory(
141141
feature_list = feature_set.split(",")
142142

143143
requirements_file = artifacts_dir.joinpath(f"{cname}.requirements")
144-
req = {}
144+
require_uefi = None
145+
secureboot = None
146+
145147
if requirements_file.exists():
146-
with requirements_file.open("r", encoding="utf-8") as req_fp:
147-
for line in req_fp:
148-
line = line.strip()
149-
if not line:
150-
continue
151-
key, value = line.split("=", 1)
152-
req[key.strip()] = value.strip()
153-
154-
require_uefi = req.get("uefi", "false").lower() == "true"
155-
secureboot = req.get("secureboot", "false").lower() == "true"
148+
requirements_config = ConfigParser(allow_unnamed_section=True)
149+
requirements_config.read(requirements_file)
150+
151+
if requirements_config.has_option(UNNAMED_SECTION, "uefi"):
152+
require_uefi = requirements_config.getboolean(UNNAMED_SECTION, "uefi")
153+
154+
if requirements_config.has_option(UNNAMED_SECTION, "secureboot"):
155+
secureboot = requirements_config.getboolean(UNNAMED_SECTION, "secureboot")
156+
157+
if require_uefi is None:
158+
require_uefi = "_usi" in feature_list
159+
160+
if secureboot is None:
161+
secureboot = "_trustedboot" in feature_list
156162

157163
metadata = {
158164
"platform": cname_object.platform,

0 commit comments

Comments
 (0)