Skip to content

Commit 7cfb9a0

Browse files
committed
Allow build_options to be specified as a base64 string
1 parent 3520bdc commit 7cfb9a0

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

machine/jobs/build_clearml_helper.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import json
22
import logging
33
import os
4+
from base64 import b64decode
5+
from binascii import Error
46
from datetime import datetime, timezone
57
from typing import Callable, Optional, Union, cast
68

@@ -123,8 +125,15 @@ def update_settings(settings: Settings, args: dict, task: Optional[Task], logger
123125
settings.update(args)
124126
settings.model_type = cast(str, settings.model_type).lower()
125127
if "build_options" in settings:
128+
# If build_options are base64 encoded, decode them
129+
build_options = cast(str, settings.build_options)
126130
try:
127-
build_options = json.loads(cast(str, settings.build_options))
131+
build_options = b64decode(build_options, validate=True)
132+
except Error:
133+
pass
134+
# Load the build options JSON
135+
try:
136+
build_options = json.loads(build_options)
128137
except ValueError as e:
129138
raise ValueError("Build options could not be parsed: Invalid JSON") from e
130139
except TypeError as e:

0 commit comments

Comments
 (0)