From d98eaa6fb9ed63265a9a4fd4567cad5eafdf80e8 Mon Sep 17 00:00:00 2001 From: c-bata Date: Fri, 10 Feb 2023 09:38:41 +0900 Subject: [PATCH 1/2] Keep backward compatibility of widget definition --- optuna_dashboard/_objective_form_widget.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/optuna_dashboard/_objective_form_widget.py b/optuna_dashboard/_objective_form_widget.py index 6bd33762..010de66f 100644 --- a/optuna_dashboard/_objective_form_widget.py +++ b/optuna_dashboard/_objective_form_widget.py @@ -1,5 +1,6 @@ from __future__ import annotations +import json from dataclasses import dataclass from typing import TYPE_CHECKING from typing import Union @@ -109,7 +110,7 @@ class ObjectiveUserAttrRef: ObjectiveFormWidget = Union[ ObjectiveChoiceWidget, ObjectiveSliderWidget, ObjectiveTextInputWidget, ObjectiveUserAttrRef ] -SYSTEM_ATTR_KEY = "dashboard:objective_form_widgets" +SYSTEM_ATTR_KEY = "dashboard:objective_form_widgets:v1" def register_objective_form_widgets( @@ -124,4 +125,9 @@ def register_objective_form_widgets( def get_objective_form_widgets_json( study_system_attr: dict[str, Any] ) -> Optional[list[ObjectiveFormWidgetJSON]]: - return study_system_attr.get(SYSTEM_ATTR_KEY) + if SYSTEM_ATTR_KEY in study_system_attr: + return study_system_attr[SYSTEM_ATTR_KEY] + # For optuna-dashboard v0.9.0b5 users + if "dashboard:objective_form_widgets" in study_system_attr: + return json.loads(study_system_attr["dashboard:objective_form_widgets"]) + return None From 120af3ea79240f73dd719d1eb03d6ab089c77974 Mon Sep 17 00:00:00 2001 From: c-bata Date: Fri, 10 Feb 2023 10:59:18 +0900 Subject: [PATCH 2/2] Fix isort errors --- optuna_dashboard/_objective_form_widget.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optuna_dashboard/_objective_form_widget.py b/optuna_dashboard/_objective_form_widget.py index 010de66f..3f19631e 100644 --- a/optuna_dashboard/_objective_form_widget.py +++ b/optuna_dashboard/_objective_form_widget.py @@ -1,7 +1,7 @@ from __future__ import annotations -import json from dataclasses import dataclass +import json from typing import TYPE_CHECKING from typing import Union