From 49b9a8ba605af136dd644808849fe75edaf175b7 Mon Sep 17 00:00:00 2001 From: Jannik Woehnert Date: Mon, 11 Dec 2023 16:32:39 +0100 Subject: [PATCH 1/2] display Environment object variable 'name' on GUI Combobox --- src/badger/gui/default/components/routine_page.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/badger/gui/default/components/routine_page.py b/src/badger/gui/default/components/routine_page.py index 931a3c2..3553922 100644 --- a/src/badger/gui/default/components/routine_page.py +++ b/src/badger/gui/default/components/routine_page.py @@ -38,6 +38,7 @@ def __init__(self): self.algos = list_algo() self.envs = list_env() + self.envs_readable = self.get_envs_human_readable() self.env = None self.routine = None self.script = '' @@ -87,7 +88,7 @@ def init_ui(self): vbox.addWidget(self.algo_box) # Env box - self.env_box = BadgerEnvBox(None, self.envs) + self.env_box = BadgerEnvBox(None, self.envs_readable) self.env_box.expand() # expand the box initially vbox.addWidget(self.env_box) @@ -315,6 +316,16 @@ def select_scaling_func(self, i): except Exception as e: self.algo_box.cb.setCurrentIndex(-1) return QMessageBox.critical(self, 'Error!', str(e)) + + def get_envs_human_readable(self): + result = [] + for env in self.envs: + env_obj = get_env(env) + try: + result.append(env_obj.name) + except AttributeError: + result.append(env) + return result def select_env(self, i): if i == -1: From 92dfbc948af358e6433220e8dfa6f28b51505628 Mon Sep 17 00:00:00 2001 From: Jannik Woehnert Date: Mon, 11 Dec 2023 16:52:55 +0100 Subject: [PATCH 2/2] catch error when loading non-existing environment --- src/badger/gui/default/components/routine_page.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/badger/gui/default/components/routine_page.py b/src/badger/gui/default/components/routine_page.py index 3553922..a1f9645 100644 --- a/src/badger/gui/default/components/routine_page.py +++ b/src/badger/gui/default/components/routine_page.py @@ -22,7 +22,7 @@ from ..windows.lim_vrange_dialog import BadgerLimitVariableRangeDialog from .data_table import get_table_content_as_dict, set_init_data_table from ....settings import read_value -from ....errors import BadgerRoutineError +from ....errors import BadgerRoutineError, BadgerPluginNotFoundError CONS_RELATION_DICT = { @@ -320,11 +320,12 @@ def select_scaling_func(self, i): def get_envs_human_readable(self): result = [] for env in self.envs: - env_obj = get_env(env) try: + env_obj = get_env(env) result.append(env_obj.name) - except AttributeError: + except (AttributeError, BadgerPluginNotFoundError) as e: result.append(env) + return result def select_env(self, i):