From 9b5b36e94006fc716dfd402fbc08dbf45400ffc2 Mon Sep 17 00:00:00 2001 From: Marko Mecina <marko.mecina@univie.ac.at> Date: Sat, 3 Dec 2022 17:52:31 +0100 Subject: [PATCH] fix loading datapool items from MIB for TST --- Ccs/ccs_function_lib.py | 7 ++++--- Tst/tst/data_pool_tab.py | 32 +++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/Ccs/ccs_function_lib.py b/Ccs/ccs_function_lib.py index 05b7344..00c53a4 100644 --- a/Ccs/ccs_function_lib.py +++ b/Ccs/ccs_function_lib.py @@ -3586,7 +3586,7 @@ def get_data_pool_items(pcf_descr=None, src_file=None, as_dict=False): logger.warning('Data pool items were rejected because of unknown format ({})'.format(len(data_pool) - len(data_pool_dict))) return data_pool_dict else: - return data_pool + return data_pool, src_file elif pcf_descr is None and not src_file: data_pool = scoped_session_idb.execute('SELECT pcf_pid, pcf_descr, pcf_ptc, pcf_pfc ' @@ -3599,7 +3599,7 @@ def get_data_pool_items(pcf_descr=None, src_file=None, as_dict=False): scoped_session_idb.close() if not as_dict: - return data_pool + return data_pool, src_file data_pool_dict = {int(row[0]): {'descr': row[1], 'fmt': ptt(row[2], row[3])} for row in data_pool} @@ -5682,7 +5682,8 @@ try: else: raise ValueError except (FileNotFoundError, ValueError, confignator.config.configparser.NoOptionError): - DP_ITEMS_SRC_FILE = None + if 'DP_ITEMS_SRC_FILE' not in locals(): + DP_ITEMS_SRC_FILE = None logger.warning('Could not load data pool from file: {}. Using MIB instead.'.format(DP_ITEMS_SRC_FILE)) _dp_items = get_data_pool_items(as_dict=True) finally: diff --git a/Tst/tst/data_pool_tab.py b/Tst/tst/data_pool_tab.py index ee92003..829fb66 100644 --- a/Tst/tst/data_pool_tab.py +++ b/Tst/tst/data_pool_tab.py @@ -18,21 +18,26 @@ DP_ITEMS_SRC_FILE = cfl.DP_ITEMS_SRC_FILE def reload_dp_data(): global DP_ITEMS_SRC_FILE - global dictionary_of_data_pool + # global dictionary_of_data_pool global list_of_data_pool global data_pool_sublist try: - dictionary_of_data_pool = cfl.get_data_pool_items(src_file=DP_ITEMS_SRC_FILE) + list_of_data_pool, _src = cfl.get_data_pool_items(src_file=DP_ITEMS_SRC_FILE) except (FileNotFoundError, ValueError): logger.warning('Could not load data pool from file: {}. Using MIB instead.'.format(DP_ITEMS_SRC_FILE)) - dictionary_of_data_pool = cfl.get_data_pool_items() + list_of_data_pool, _src = cfl.get_data_pool_items() - if not isinstance(dictionary_of_data_pool, list): - list_of_data_pool = list(dictionary_of_data_pool.keys()) + # check if DP items are from MIB or CSV + if not _src: data_pool_sublist = get_data_pool_sublist() else: - data_pool_sublist = dictionary_of_data_pool + data_pool_sublist = list_of_data_pool + + # if not isinstance(list_of_data_pool, list): + # data_pool_sublist = get_data_pool_sublist() + # else: + # data_pool_sublist = dictionary_of_data_pool def get_data_pool_sublist(): @@ -54,16 +59,21 @@ def get_data_pool_sublist(): data_pool_sublist = [] try: - dictionary_of_data_pool = cfl.get_data_pool_items(src_file=DP_ITEMS_SRC_FILE) + list_of_data_pool, _src = cfl.get_data_pool_items(src_file=DP_ITEMS_SRC_FILE) except (FileNotFoundError, ValueError): logger.warning('Could not load data pool from file: {}. Using MIB instead.'.format(DP_ITEMS_SRC_FILE)) - dictionary_of_data_pool = cfl.get_data_pool_items() + list_of_data_pool, _src = cfl.get_data_pool_items() -if not isinstance(dictionary_of_data_pool, list): - list_of_data_pool = list(dictionary_of_data_pool.keys()) +# check if DP items are from MIB or CSV +if not _src: data_pool_sublist = get_data_pool_sublist() else: - data_pool_sublist = dictionary_of_data_pool + data_pool_sublist = list_of_data_pool + +# if not isinstance(list_of_data_pool, list): +# data_pool_sublist = get_data_pool_sublist() +# else: +# data_pool_sublist = list_of_data_pool class DataPoolTable(Gtk.Grid): -- GitLab