From d3c5a3edee7c1967f560ec108bfc477f3cffca81 Mon Sep 17 00:00:00 2001 From: Marko Mecina <marko.mecina@univie.ac.at> Date: Wed, 31 Aug 2022 18:10:41 +0200 Subject: [PATCH] handle parsing errors when reading DP item list from csv --- Ccs/ccs_function_lib.py | 5 ++++- Tst/tst/data_pool_tab.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Ccs/ccs_function_lib.py b/Ccs/ccs_function_lib.py index 7bcafc5..42b039b 100644 --- a/Ccs/ccs_function_lib.py +++ b/Ccs/ccs_function_lib.py @@ -2839,6 +2839,9 @@ def get_tm_id(pcf_descr=None): def get_data_pool_items(pcf_descr=None, src_file=None): + if not isinstance(src_file, str): + raise TypeError('src_file must be str, is {}.'.format(type(src_file))) + if src_file: with open(src_file, 'r') as fd: lines = fd.readlines() @@ -2850,7 +2853,7 @@ def get_data_pool_items(pcf_descr=None, src_file=None): if len(dp_item) == 6: data_pool.append(dp_item[:2][::-1] + dp_item[2:]) else: - raise Exception + raise ValueError('Wrong format of input line in {}.'.format(src_file)) return data_pool diff --git a/Tst/tst/data_pool_tab.py b/Tst/tst/data_pool_tab.py index 30375d7..1cd6baf 100644 --- a/Tst/tst/data_pool_tab.py +++ b/Tst/tst/data_pool_tab.py @@ -27,7 +27,7 @@ def reload_dp_data(): try: dictionary_of_data_pool = cfl.get_data_pool_items(src_file=DP_ITEMS_SRC_FILE) - except FileNotFoundError: + 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() @@ -58,7 +58,7 @@ def get_data_pool_sublist(): data_pool_sublist = [] try: dictionary_of_data_pool = cfl.get_data_pool_items(src_file=DP_ITEMS_SRC_FILE) -except FileNotFoundError: +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() -- GitLab