From c41c3d56f97dc7b89acaea5847dfa307210dd100 Mon Sep 17 00:00:00 2001 From: xuhe Date: Wed, 27 Nov 2024 16:21:20 +0800 Subject: [PATCH] Add exception capture and file path check to avoid exception occurs --- kyreport/ky_report.py | 59 ++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/kyreport/ky_report.py b/kyreport/ky_report.py index 480ab9b..2decb4c 100644 --- a/kyreport/ky_report.py +++ b/kyreport/ky_report.py @@ -125,32 +125,39 @@ window.onload = init(); return net_list def build_info(self, fname = ''): - flg_cmd = '=========================kylin=========================' - flg_sub = '-------------------------kylin-------------------------' - ret_arr = [] - - with open(file = fname, mode = 'r') as fp: - txt = fp.read() - cmd_grp = txt.strip()[:-len(flg_cmd)].split(flg_cmd) - for grp in cmd_grp: - grp_obj = { 'group': '', 'sub': [] } - cmd_sub = grp.strip().split(flg_sub) - for sub in cmd_sub: - sub_obj = { 'cmd': '', 'res': '' } - sub_arr = sub.strip().split('\n', 2) - - sub_g = sub_arr[0].split('Command: ')[1] - sub_s = sub_arr[1].split('SubCommand: ')[1] - sub_c = sub_arr[2] - - sub_obj['cmd'] = sub_s - sub_obj['res'] = sub_c - - grp_obj['group'] = sub_g - grp_obj['sub'].append(sub_obj) + try: + flg_cmd = '=========================kylin=========================' + flg_sub = '-------------------------kylin-------------------------' + ret_arr = [] + + if not os.path.exists(fname): + Logger().warning("Report file not found: {}".format(fname)) + return [] + + with open(file = fname, mode = 'r') as fp: + txt = fp.read() + cmd_grp = txt.strip()[:-len(flg_cmd)].split(flg_cmd) + for grp in cmd_grp: + grp_obj = { 'group': '', 'sub': [] } + cmd_sub = grp.strip().split(flg_sub) + for sub in cmd_sub: + sub_obj = { 'cmd': '', 'res': '' } + sub_arr = sub.strip().split('\n', 2) + + sub_g = sub_arr[0].split('Command: ')[1] + sub_s = sub_arr[1].split('SubCommand: ')[1] + sub_c = sub_arr[2] + + sub_obj['cmd'] = sub_s + sub_obj['res'] = sub_c + + grp_obj['group'] = sub_g + grp_obj['sub'].append(sub_obj) - if 0 < len(grp_obj['group']) and 0 < len(grp_obj['sub']): - ret_arr.append(grp_obj) + if 0 < len(grp_obj['group']) and 0 < len(grp_obj['sub']): + ret_arr.append(grp_obj) - return ret_arr + return ret_arr + except Exception as err: + Logger().error('Failed parse file "{}": {}'.format(fname, err)) -- Gitee