98e8884c by chenyao

ocr_process添加try-except处理前半部分

1 parent 75d18a3c
...@@ -178,6 +178,8 @@ class Command(BaseCommand, LoggerMixin): ...@@ -178,6 +178,8 @@ class Command(BaseCommand, LoggerMixin):
178 # self.online_log.info('{0} [edms download success] [pdf_path={1}]'.format(self.log_base, pdf_path)) 178 # self.online_log.info('{0} [edms download success] [pdf_path={1}]'.format(self.log_base, pdf_path))
179 179
180 def bs_process(self, wb, ocr_data, bs_summary, unknown_summary, classify, res_list, pno, ino, part_idx): 180 def bs_process(self, wb, ocr_data, bs_summary, unknown_summary, classify, res_list, pno, ino, part_idx):
181 # 添加 try-except 处理
182 try:
181 sheets = ocr_data.get('data', []) 183 sheets = ocr_data.get('data', [])
182 if not sheets: 184 if not sheets:
183 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY)) 185 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
...@@ -265,9 +267,14 @@ class Command(BaseCommand, LoggerMixin): ...@@ -265,9 +267,14 @@ class Command(BaseCommand, LoggerMixin):
265 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS)) 267 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS))
266 else: 268 else:
267 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY)) 269 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
270 except Exception as e:
271 res_list.append((pno, ino, part_idx, consts.RES_FAILED))
272 self.online_log.error('{0} [bs_process error] [error={1}]'.format(self.log_base, traceback.format_exc()))
268 273
269 def contract_process(self, classify, ocr_data, contract_result, res_list, pno, ino, part_idx, 274 def contract_process(self, classify, ocr_data, contract_result, res_list, pno, ino, part_idx,
270 img_path, contract_result_compare): 275 img_path, contract_result_compare):
276 # 添加 try-except 处理
277 try:
271 contract_dict = ocr_data.get('data') 278 contract_dict = ocr_data.get('data')
272 if not contract_dict or contract_dict.get('page_num') is None or contract_dict.get('page_info') is None: 279 if not contract_dict or contract_dict.get('page_num') is None or contract_dict.get('page_info') is None:
273 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY)) 280 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
...@@ -343,6 +350,8 @@ class Command(BaseCommand, LoggerMixin): ...@@ -343,6 +350,8 @@ class Command(BaseCommand, LoggerMixin):
343 contract_result_compare.setdefault(classify, dict())[consts.ASP_KEY] = contract_dict.get(consts.ASP_KEY, False) 350 contract_result_compare.setdefault(classify, dict())[consts.ASP_KEY] = contract_dict.get(consts.ASP_KEY, False)
344 # "position" = [xmin, ymin, xmax, ymax] 351 # "position" = [xmin, ymin, xmax, ymax]
345 contract_result_compare.setdefault(classify, dict())[page_num_only] = page_compare_dict 352 contract_result_compare.setdefault(classify, dict())[page_num_only] = page_compare_dict
353 except Exception as e:
354 self.online_log.error('{0} [contract_process error] [error={1}]'.format(self.log_base, traceback.format_exc()))
346 355
347 @staticmethod 356 @staticmethod
348 def rebuild_position(src_position): 357 def rebuild_position(src_position):
...@@ -372,6 +381,8 @@ class Command(BaseCommand, LoggerMixin): ...@@ -372,6 +381,8 @@ class Command(BaseCommand, LoggerMixin):
372 381
373 def license1_process(self, ocr_data, license_summary, classify, res_list, pno, ino, part_idx, img_path, do_dda, 382 def license1_process(self, ocr_data, license_summary, classify, res_list, pno, ino, part_idx, img_path, do_dda,
374 dda_id_bc_mapping): 383 dda_id_bc_mapping):
384 # 添加 try-except 处理
385 try:
375 # 类别:'0'身份证, '1'居住证 386 # 类别:'0'身份证, '1'居住证
376 license_data = ocr_data.get('data') 387 license_data = ocr_data.get('data')
377 if not license_data: 388 if not license_data:
...@@ -713,8 +724,13 @@ class Command(BaseCommand, LoggerMixin): ...@@ -713,8 +724,13 @@ class Command(BaseCommand, LoggerMixin):
713 res_dict[consts.SECTION_IMG_PATH_KEY] = section_img_path 724 res_dict[consts.SECTION_IMG_PATH_KEY] = section_img_path
714 license_summary.setdefault(classify, []).extend(license_data) 725 license_summary.setdefault(classify, []).extend(license_data)
715 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS)) 726 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS))
727 except Exception as e:
728 res_list.append((pno, ino, part_idx, consts.RES_FAILED))
729 self.online_log.error('{0} [license1_process error] [error={1}]'.format(self.log_base, traceback.format_exc()))
716 730
717 def license2_process(self, ocr_res_2, license_summary, pid, classify, res_list, pno, ino, part_idx, img_path, do_dda, dda_id_bc_mapping, file_data): 731 def license2_process(self, ocr_res_2, license_summary, pid, classify, res_list, pno, ino, part_idx, img_path, do_dda, dda_id_bc_mapping, file_data):
732 # 添加 try-except 处理
733 try:
718 if ocr_res_2.get('ErrorCode') in consts.SUCCESS_CODE_SET: 734 if ocr_res_2.get('ErrorCode') in consts.SUCCESS_CODE_SET:
719 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS)) 735 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS))
720 if pid == consts.BC_PID: 736 if pid == consts.BC_PID:
...@@ -777,9 +793,14 @@ class Command(BaseCommand, LoggerMixin): ...@@ -777,9 +793,14 @@ class Command(BaseCommand, LoggerMixin):
777 ' [part_idx={2}]'.format(self.log_base, img_path, part_idx)) 793 ' [part_idx={2}]'.format(self.log_base, img_path, part_idx))
778 else: 794 else:
779 res_list.append((pno, ino, part_idx, consts.RES_FAILED_2)) 795 res_list.append((pno, ino, part_idx, consts.RES_FAILED_2))
796 except Exception as e:
797 res_list.append((pno, ino, part_idx, consts.RES_FAILED_2))
798 self.online_log.error('{0} [license2_process error] [error={1}]'.format(self.log_base, traceback.format_exc()))
780 799
781 @staticmethod 800 @staticmethod
782 def license_rebuild(license_summary): 801 def license_rebuild(license_summary):
802 # 添加 try-except 处理
803 try:
783 ic_merge = False 804 ic_merge = False
784 rp_merge = False 805 rp_merge = False
785 806
...@@ -854,17 +875,31 @@ class Command(BaseCommand, LoggerMixin): ...@@ -854,17 +875,31 @@ class Command(BaseCommand, LoggerMixin):
854 page_1_2 = page_3_4 = None 875 page_1_2 = page_3_4 = None
855 876
856 return ic_merge, rp_merge 877 return ic_merge, rp_merge
878 except Exception as e:
879 print("license_rebuild error")
880 print(traceback.format_exc())
881 return False, False
857 882
858 def parse_img_path(self, img_path): 883 def parse_img_path(self, img_path):
884 # 添加 try-except 处理
885 try:
859 img_name, _ = os.path.splitext(os.path.basename(img_path)) 886 img_name, _ = os.path.splitext(os.path.basename(img_path))
860 part_list = img_name.split('_') 887 part_list = img_name.split('_')
861 # page_7_img_11_0 888 # page_7_img_11_0
862 return int(part_list[1])+1, int(part_list[3])+1 889 return int(part_list[1])+1, int(part_list[3])+1
890 except Exception as e:
891 self.online_log.error('{0} [parse_img_path error] [error={1}]'.format(self.log_base, traceback.format_exc()))
892 return 0, 0
863 893
864 def get_most(self, value_list): 894 def get_most(self, value_list):
895 # 添加 try-except 处理
896 try:
865 if value_list: 897 if value_list:
866 most_common = Counter(value_list).most_common(1) 898 most_common = Counter(value_list).most_common(1)
867 return most_common[0][0] if most_common else None 899 return most_common[0][0] if most_common else None
900 except Exception as e:
901 self.online_log.error('{0} [get_most error] [error={1}]'.format(self.log_base, traceback.format_exc()))
902 return None
868 903
869 def date_format(self, date_str, format_str): 904 def date_format(self, date_str, format_str):
870 try: 905 try:
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!