b198d2cf by 周伟奇

fix bug

1 parent aeefa795
...@@ -1044,36 +1044,36 @@ COMPARE_FIELDS = (IC_OCR_FIELD, RP_OCR_FIELD, BL_OCR_FIELD, EEP_OCR_FIELD, DL_OC ...@@ -1044,36 +1044,36 @@ COMPARE_FIELDS = (IC_OCR_FIELD, RP_OCR_FIELD, BL_OCR_FIELD, EEP_OCR_FIELD, DL_OC
1044 1044
1045 # 身份证 1045 # 身份证
1046 ITPRC = [ 1046 ITPRC = [
1047 ('customerChineseName', '姓名', 'name_compare', {}), 1047 ('customerChineseName', '姓名', 'name_compare', {}, 'customerChineseNameResult'),
1048 ('idNum', '公民身份号码', 'common_compare', {}), 1048 ('idNum', '公民身份号码', 'common_compare', {}, 'idNumResult'),
1049 # 20200410-20250410 OCR识别为长期,向GCAP发送:2099-12-31 00:00:00.0 1049 # 20200410-20250410 OCR识别为长期,向GCAP发送:2099-12-31 00:00:00.0
1050 ('idExpiryDate', '有效期限', 'date_compare', {'long': True, 'ocr_split': True, 'input_replace': ''}), 1050 ('idExpiryDate', '有效期限', 'date_compare', {'long': True, 'ocr_split': True, 'input_replace': ''}, 'idExpiryDateResult'),
1051 ('dateOfBirth', '出生年月', 'date_compare', {'input_replace': ''}), # 20231023 1051 ('dateOfBirth', '出生年月', 'date_compare', {'input_replace': ''}, 'dateOfBirthResult'), # 20231023
1052 ] 1052 ]
1053 1053
1054 # 护照 1054 # 护照
1055 ITPSP = [ 1055 ITPSP = [
1056 ('customerChineseName', '英文姓名', 'name_compare', {'is_passport': True}), 1056 ('customerChineseName', '英文姓名', 'name_compare', {'is_passport': True}, 'customerChineseNameResult'),
1057 ('idNum', '护照号码', 'common_compare', {}), 1057 ('idNum', '护照号码', 'common_compare', {}, 'idNumResult'),
1058 ('idExpiryDate', '有效期至', 'date_compare', {'input_replace': ''}), # 20250410 1058 ('idExpiryDate', '有效期至', 'date_compare', {'input_replace': ''}, 'idExpiryDateResult'), # 20250410
1059 ('dateOfBirth', '出生日期', 'date_compare', {'input_replace': ''}), # 20250410 1059 ('dateOfBirth', '出生日期', 'date_compare', {'input_replace': ''}, 'dateOfBirthResult'), # 20250410
1060 ] 1060 ]
1061 1061
1062 # 港澳台通行证 1062 # 港澳台通行证
1063 ITHKM_ITTID = [ 1063 ITHKM_ITTID = [
1064 ('customerChineseName', '中文名', 'common_compare', {}), 1064 ('customerChineseName', '中文名', 'common_compare', {}, 'customerChineseNameResult'),
1065 ('idNum', '证件号码', 'common_compare', {}), 1065 ('idNum', '证件号码', 'common_compare', {}, 'idNumResult'),
1066 ('idExpiryDate', '有效期限', 'date_compare', {'ocr_split': True, 'input_replace': '.'}), # 2013.10.24-2023.10.23 1066 ('idExpiryDate', '有效期限', 'date_compare', {'ocr_split': True, 'input_replace': '.'}, 'idExpiryDateResult'), # 2013.10.24-2023.10.23
1067 ('dateOfBirth', '出生日期', 'date_compare', {'input_replace': '.'}), # 2023.10.23 1067 ('dateOfBirth', '出生日期', 'date_compare', {'input_replace': '.'}, 'dateOfBirthResult'), # 2023.10.23
1068 ] 1068 ]
1069 1069
1070 # 居住证 1070 # 居住证
1071 ITRES = [ 1071 ITRES = [
1072 ('customerChineseName', '姓名', 'common_compare', {}), 1072 ('customerChineseName', '姓名', 'common_compare', {}, 'customerChineseName'),
1073 ('idNum', '公民身份号码', 'common_compare', {}), 1073 ('idNum', '公民身份号码', 'common_compare', {}, 'idNum'),
1074 ('secondIdNum', '通行证号码', 'common_compare', {}), 1074 ('secondIdNum', '通行证号码', 'common_compare', {}, 'secondIdNum'),
1075 ('idExpiryDate', '有效期限', 'date_compare', {'ocr_split': True, 'input_replace': ''}), # 20200410-20250410 1075 ('idExpiryDate', '有效期限', 'date_compare', {'ocr_split': True, 'input_replace': ''}, 'idExpiryDate'), # 20200410-20250410
1076 ('dateOfBirth', '出生年月', 'date_compare', {'input_replace': ''}), # 20231023 1076 ('dateOfBirth', '出生年月', 'date_compare', {'input_replace': ''}, 'dateOfBirth'), # 20231023
1077 ] 1077 ]
1078 1078
1079 ID_TYPE_COMPARE = { 1079 ID_TYPE_COMPARE = {
...@@ -1090,33 +1090,33 @@ ID_TYPE_COMPARE = { ...@@ -1090,33 +1090,33 @@ ID_TYPE_COMPARE = {
1090 # c)两中比对 均不一致:N,向GCAP发送:车辆登记证 & 行驶证识别结果 1090 # c)两中比对 均不一致:N,向GCAP发送:车辆登记证 & 行驶证识别结果
1091 # 车辆登记证 1091 # 车辆登记证
1092 PCUSD_MVC = [ 1092 PCUSD_MVC = [
1093 ('vinNo', '9.车辆识别代号/车架号', 'common_compare', {}), 1093 ('vinNo', '9.车辆识别代号/车架号', 'common_compare', {}, 'vinNoResult'),
1094 ('manufactureDate', '32.车辆出厂日期', 'common_compare', {}), 1094 ('manufactureDate', '32.车辆出厂日期', 'common_compare', {}, 'manufactureDateResult'),
1095 ('firstRegistrationDate', '3.登记日期', 'common_compare', {}), 1095 ('firstRegistrationDate', '3.登记日期', 'common_compare', {}, 'firstRegistrationDateResult'),
1096 ] 1096 ]
1097 1097
1098 # 行驶证 1098 # 行驶证
1099 PCUSD_DL = [ 1099 PCUSD_DL = [
1100 ('vinNo', '车辆识别代码', 'common_compare', {}), 1100 ('vinNo', '车辆识别代码', 'common_compare', {}, 'vinNoResult'),
1101 ] 1101 ]
1102 1102
1103 # 营业执照 1103 # 营业执照
1104 TCCOR = [ 1104 TCCOR = [
1105 ('customerChineseName', '企业名称', 'common_compare', {}), 1105 ('customerChineseName', '企业名称', 'common_compare', {}, 'customerChinessNameResult'),
1106 ('legalRepName', '经营者姓名', 'name_compare', {}), 1106 ('legalRepName', '经营者姓名', 'name_compare', {}, 'legalRepNameResult'),
1107 ('idNum', '注册号', 'common_compare', {}), 1107 ('idNum', '注册号', 'common_compare', {}, 'idNumResult'),
1108 ('businessLicenseNo', '注册号', 'common_compare', {}), 1108 ('businessLicenseNo', '注册号', 'common_compare', {}, 'businessLicenseNoResult'),
1109 ('taxRegistrationCode', '注册号', 'common_compare', {}), 1109 ('taxRegistrationCode', '注册号', 'common_compare', {}, 'taxRegistrationCodeResult'),
1110 ('incorporationDate', '成立日期', 'date_compare', {'ocr_replace': True}), # 2017年07月11日 1110 ('incorporationDate', '成立日期', 'date_compare', {'ocr_replace': True}, 'incorporationDateResult'), # 2017年07月11日
1111 # 2017年07月11日至长期 1. OCR识别为长期,向GCAP发送:2099-12-31 00:00:00.0 1111 # 2017年07月11日至长期 1. OCR识别为长期,向GCAP发送:2099-12-31 00:00:00.0
1112 ('businessLicenseDueDate', '营业期限', 'date_compare', {'long': True, 'ocr_replace': True}), 1112 ('businessLicenseDueDate', '营业期限', 'date_compare', {'long': True, 'ocr_replace': True}, 'businessLicenseDueDateResult'),
1113 ('capitalRegAmount', '注册资本', 'rmb_compare', {}), # 壹拾万元整 将OCR识别结果(人民币大写)转化为数字 1113 ('capitalRegAmount', '注册资本', 'rmb_compare', {}, 'capitalRegAmountResult'), # 壹拾万元整 将OCR识别结果(人民币大写)转化为数字
1114 ] 1114 ]
1115 1115
1116 TCSEP = [ 1116 TCSEP = [
1117 ('companyName', '企业名称', 'common_compare', {}), 1117 ('companyName', '企业名称', 'common_compare', {}, 'companyNameResult'),
1118 ('registeredCapital', '注册资本', 'rmb_compare', {}), # 壹拾万元整 将OCR识别结果(人民币大写)转化为数字 1118 ('registeredCapital', '注册资本', 'rmb_compare', {}, 'registeredCapitalResult'), # 壹拾万元整 将OCR识别结果(人民币大写)转化为数字
1119 ('selfEmployedSubType', '企业类型', 'type_compare', {}) # 有限责任公司 1119 ('selfEmployedSubType', '企业类型', 'type_compare', {}, 'selfEmployedSubTypeResult') # 有限责任公司
1120 ] 1120 ]
1121 1121
1122 # 1. POS数据OCR识别结果对应关系如下: 1122 # 1. POS数据OCR识别结果对应关系如下:
...@@ -1131,7 +1131,7 @@ RESULT_NA = 'NA' ...@@ -1131,7 +1131,7 @@ RESULT_NA = 'NA'
1131 IN_ORDER = ('applicantType', 'idType', 'secondIdType', 'customerType', 'customerChineseName', 'idNum', 'secondIdNum', 1131 IN_ORDER = ('applicantType', 'idType', 'secondIdType', 'customerType', 'customerChineseName', 'idNum', 'secondIdNum',
1132 "idExpiryDate", "dateOfBirth", 'companyName', "registeredCapital", 'selfEmployedSubType',) 1132 "idExpiryDate", "dateOfBirth", 'companyName', "registeredCapital", 'selfEmployedSubType',)
1133 UC_ORDER = ('vinNo', 'manufactureDate', 'firstRegistrationDate') 1133 UC_ORDER = ('vinNo', 'manufactureDate', 'firstRegistrationDate')
1134 CO_ORDER = ('customerChineseName', 'legalRepName', 'idNum', 'businessLicenseNo', 'taxRegistrationCode', 1134 CO_ORDER = ('customerChineseName', 'legalRepName', 'idNum', 'customerType', 'businessLicenseNo', 'taxRegistrationCode',
1135 'incorporationDate', 'businessLicenseDueDate', 'capitalRegAmount') 1135 'incorporationDate', 'businessLicenseDueDate', 'capitalRegAmount')
1136 1136
1137 1137
......
...@@ -25,7 +25,7 @@ class GCAP: ...@@ -25,7 +25,7 @@ class GCAP:
25 response = requests.post(self.url, headers=self.headers, data=data, verify=False, auth=self.auth) 25 response = requests.post(self.url, headers=self.headers, data=data, verify=False, auth=self.auth)
26 if response.status_code != 200: 26 if response.status_code != 200:
27 raise GCAPException('GCAP response with code: {0}'.format(response.status_code)) 27 raise GCAPException('GCAP response with code: {0}'.format(response.status_code))
28 return response.status_code 28 return response.text
29 29
30 def test_send(self): 30 def test_send(self):
31 test_res = OrderedDict({ 31 test_res = OrderedDict({
......
...@@ -35,22 +35,25 @@ def field_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_set): ...@@ -35,22 +35,25 @@ def field_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_set):
35 break 35 break
36 for idx, compare_tuple in enumerate(compare_list): 36 for idx, compare_tuple in enumerate(compare_list):
37 input_str = info_dict.get(compare_tuple[0]) 37 input_str = info_dict.get(compare_tuple[0])
38 ocr_str = ocr_res.get(compare_tuple[1], '') 38 ocr_str = ocr_res.get(compare_tuple[1])
39 compare_res = getattr(cp, compare_tuple[2])( 39 compare_res, ocr_output = getattr(cp, compare_tuple[2])(
40 info_dict.get(compare_tuple[0]), ocr_res.get(compare_tuple[1]), **compare_tuple[3]) 40 info_dict.get(compare_tuple[0]), ocr_res.get(compare_tuple[1]), idx, **compare_tuple[3])
41 if idx == 0 and compare_res == consts.RESULT_N: 41 if idx == 0 and compare_res == consts.RESULT_N:
42 break 42 break
43 is_find = True 43 is_find = True
44 info_dict[compare_tuple[0] + 'Result'] = compare_res 44 info_dict[compare_tuple[4]] = compare_res
45 if input_str is not None: 45 if input_str is not None:
46 info_dict[compare_tuple[0]] = ocr_str 46 if ocr_str is None or ocr_output is None:
47 del info_dict[compare_tuple[0]]
48 else:
49 info_dict[compare_tuple[0]] = ocr_output
47 res_set.add(compare_res) 50 res_set.add(compare_res)
48 if not is_find: 51 if not is_find:
49 res_set.add(consts.RESULT_N) 52 res_set.add(consts.RESULT_N)
50 for compare_tuple in compare_list: 53 for compare_tuple in compare_list:
51 info_dict[compare_tuple[0] + 'Result'] = consts.RESULT_NA 54 info_dict[compare_tuple[4]] = consts.RESULT_NA
52 if compare_tuple[0] in info_dict: 55 if compare_tuple[0] in info_dict:
53 info_dict[compare_tuple[0]] = '' 56 del info_dict[compare_tuple[0]]
54 57
55 58
56 def usedcar_info_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_set): 59 def usedcar_info_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_set):
...@@ -66,21 +69,21 @@ def usedcar_info_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_s ...@@ -66,21 +69,21 @@ def usedcar_info_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_s
66 input_str = info_dict.get(compare_tuple[0]) 69 input_str = info_dict.get(compare_tuple[0])
67 ocr_str = ocr_res.get(compare_tuple[1], '') 70 ocr_str = ocr_res.get(compare_tuple[1], '')
68 compare_res = getattr(cp, compare_tuple[2])( 71 compare_res = getattr(cp, compare_tuple[2])(
69 info_dict.get(compare_tuple[0]), ocr_res.get(compare_tuple[1]), **compare_tuple[3]) 72 info_dict.get(compare_tuple[0]), ocr_res.get(compare_tuple[1]), idx, **compare_tuple[3])
70 if idx == 0 and compare_res == consts.RESULT_N: 73 if idx == 0 and compare_res == consts.RESULT_N:
71 no_match_vino.append(ocr_str) 74 no_match_vino.append(ocr_str)
72 break 75 break
73 is_find = True 76 is_find = True
74 info_dict[compare_tuple[0] + 'Result'] = compare_res 77 info_dict[compare_tuple[4]] = compare_res
75 if input_str is not None: 78 if input_str is not None:
76 info_dict[compare_tuple[0]] = ocr_str 79 info_dict[compare_tuple[0]] = ocr_str
77 res_set.add(compare_res) 80 res_set.add(compare_res)
78 if not is_find: 81 if not is_find:
79 res_set.add(consts.RESULT_N) 82 res_set.add(consts.RESULT_N)
80 for compare_tuple in compare_list: 83 for compare_tuple in compare_list:
81 info_dict[compare_tuple[0] + 'Result'] = consts.RESULT_N 84 info_dict[compare_tuple[4]] = consts.RESULT_N
82 if compare_tuple[0] in info_dict: 85 if compare_tuple[0] in info_dict:
83 info_dict[compare_tuple[0]] = '' 86 del info_dict[compare_tuple[0]]
84 return is_find, no_match_vino 87 return is_find, no_match_vino
85 88
86 89
...@@ -123,7 +126,7 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -123,7 +126,7 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
123 'vehicleStatus': last_obj.vehicle_status, 126 'vehicleStatus': last_obj.vehicle_status,
124 'wholeResult': 'Y', 127 'wholeResult': 'Y',
125 'wholeResultMessage': '', 128 'wholeResultMessage': '',
126 'applicationLink': '', 129 'applicationLink': r'\\china.bmw.corp\WINFS\SF-CN-data\SF3-CN-S\SF3-CN-S-1-New',
127 } 130 }
128 }) 131 })
129 132
...@@ -165,7 +168,7 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -165,7 +168,7 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
165 elif mvc_find is False and dl_find is True: 168 elif mvc_find is False and dl_find is True:
166 vino = mvc_vinos[0] if len(mvc_vinos) > 0 else '' 169 vino = mvc_vinos[0] if len(mvc_vinos) > 0 else ''
167 order_usedcar_info[consts.PCUSD_MVC[0][0]] = vino 170 order_usedcar_info[consts.PCUSD_MVC[0][0]] = vino
168 order_usedcar_info[consts.PCUSD_MVC[0][0] + 'Result'] = consts.RESULT_N 171 order_usedcar_info[consts.PCUSD_MVC[0][4]] = consts.RESULT_N
169 elif mvc_find is False and dl_find is False: 172 elif mvc_find is False and dl_find is False:
170 vino_list = [] 173 vino_list = []
171 if len(mvc_vinos) > 0: 174 if len(mvc_vinos) > 0:
...@@ -213,7 +216,7 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -213,7 +216,7 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
213 try: 216 try:
214 for times in range(consts.RETRY_TIMES): 217 for times in range(consts.RETRY_TIMES):
215 try: 218 try:
216 gcap.send(data) 219 res_text = gcap.send(data)
217 except Exception as e: 220 except Exception as e:
218 gcap_exc = str(e) 221 gcap_exc = str(e)
219 else: 222 else:
...@@ -225,5 +228,8 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -225,5 +228,8 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
225 '[error={5}]'.format(log_base, application_entity, application_id, uniq_seq, 228 '[error={5}]'.format(log_base, application_entity, application_id, uniq_seq,
226 ocr_res_id, traceback.format_exc())) 229 ocr_res_id, traceback.format_exc()))
227 else: 230 else:
231 compare_log.info('{0} [gcap success] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}] '
232 '[response={5}]'.format(log_base, application_entity, application_id, uniq_seq,
233 ocr_res_id, res_text))
228 compare_log.info('{0} [task success] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}]'.format( 234 compare_log.info('{0} [task success] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}]'.format(
229 log_base, application_entity, application_id, uniq_seq, ocr_res_id)) 235 log_base, application_entity, application_id, uniq_seq, ocr_res_id))
......
1 import re 1 import re
2 from datetime import datetime
2 from .rmb_upper import to_rmb_upper 3 from .rmb_upper import to_rmb_upper
3 4
4 5
...@@ -33,14 +34,14 @@ class Comparison: ...@@ -33,14 +34,14 @@ class Comparison:
33 else: 34 else:
34 return self.RESULT_N 35 return self.RESULT_N
35 36
36 def common_compare(self, input_str, ocr_str, **kwargs): 37 def common_compare(self, input_str, ocr_str, idx, **kwargs):
37 if not isinstance(input_str, str) or not isinstance(ocr_str, str): 38 if not isinstance(input_str, str) or not isinstance(ocr_str, str):
38 return self.RESULT_N 39 return self.RESULT_N
39 return self.build_res(input_str == ocr_str) 40 return self.build_res(input_str == ocr_str), ocr_str
40 41
41 def name_compare(self, input_str, ocr_str, **kwargs): 42 def name_compare(self, input_str, ocr_str, idx, **kwargs):
42 if not isinstance(input_str, str) or not isinstance(ocr_str, str): 43 if not isinstance(input_str, str) or not isinstance(ocr_str, str):
43 return self.RESULT_N 44 return self.RESULT_N, ocr_str
44 if kwargs.get('is_passport'): 45 if kwargs.get('is_passport'):
45 input_obj = re.search(r'[a-zA-Z]]!', input_str) 46 input_obj = re.search(r'[a-zA-Z]]!', input_str)
46 if input_obj: 47 if input_obj:
...@@ -48,39 +49,46 @@ class Comparison: ...@@ -48,39 +49,46 @@ class Comparison:
48 ocr_obj = re.search(r'[a-zA-Z]]!', ocr_str) 49 ocr_obj = re.search(r'[a-zA-Z]]!', ocr_str)
49 if ocr_obj: 50 if ocr_obj:
50 ocr_s = ocr_obj.group() 51 ocr_s = ocr_obj.group()
51 return self.build_res(input_s == ocr_s) 52 return self.build_res(input_s == ocr_s), ocr_str
52 return self.RESULT_N 53 return self.RESULT_N, ocr_str
53 else: 54 else:
54 return self.build_res((input_str == ocr_str)) 55 return self.build_res((input_str == ocr_str)), ocr_str
55 else: 56 else:
56 if re.search(r'[a-zA-Z]]', input_str): 57 if re.search(r'[a-zA-Z]]', input_str):
57 return self.RESULT_NA 58 return self.RESULT_NA, ocr_str
58 input_s = input_str.translate(self.TRANS) 59 input_s = input_str.translate(self.TRANS)
59 ocr_s = ocr_str.translate(self.TRANS) 60 ocr_s = ocr_str.translate(self.TRANS)
60 return self.build_res(input_s == ocr_s) 61 return self.build_res(input_s == ocr_s), ocr_str
61 62
62 def date_compare(self, input_str, ocr_str, **kwargs): 63 def date_compare(self, input_str, ocr_str, idx, **kwargs):
63 if not isinstance(input_str, str) or not isinstance(ocr_str, str): 64 if not isinstance(input_str, str) or not isinstance(ocr_str, str):
64 return self.RESULT_N 65 return self.RESULT_N, ocr_str
65 if kwargs.get('long', False) and '长期' in ocr_str: 66 if kwargs.get('long', False) and '长期' in ocr_str:
66 return '2099-12-31' 67 return self.RESULT_Y, '2099-12-31'
67 if kwargs.get('ocr_split', False): 68 if kwargs.get('ocr_split', False):
68 ocr_str = ocr_str.split('-')[-1] 69 ocr_str = ocr_str.split('-')[-1]
69 if kwargs.get('ocr_replace', False): 70 if kwargs.get('ocr_replace', False):
70 ocr_str = ocr_str.replace('年', '-').replace('月', '-').replace('日', '') 71 ocr_str = ocr_str.replace('年', '-').replace('月', '-').replace('日', '')
71 if kwargs.get('input_replace') is not None: 72 if kwargs.get('input_replace') is not None:
72 input_str = input_str.replace('-', kwargs.get('input_replace')) 73 input_str = input_str.replace('-', kwargs.get('input_replace'))
73 return self.build_res(input_str == ocr_str) 74 try:
75 ocr_output = datetime.strptime(ocr_str, '%Y{0}%m{0}%d'.format(
76 kwargs.get('input_replace'))).strftime('%Y-%m-%d')
77 except Exception as e:
78 ocr_output = None
79 else:
80 ocr_output = ocr_str
81 return self.build_res(input_str == ocr_str), ocr_output
74 82
75 def rmb_compare(self, input_str, ocr_str, **kwargs): 83 def rmb_compare(self, input_str, ocr_str, idx, **kwargs):
76 if not isinstance(input_str, str) or not isinstance(ocr_str, str): 84 if not isinstance(input_str, str) or not isinstance(ocr_str, str):
77 return self.RESULT_N 85 return self.RESULT_N
78 input_rmb_upper = to_rmb_upper(float(input_str)) 86 input_rmb_upper = to_rmb_upper(float(input_str))
79 return self.build_res(input_rmb_upper == ocr_str) 87 return self.build_res(input_rmb_upper == ocr_str), input_str
80 88
81 def type_compare(self, input_str, ocr_str, **kwargs): 89 def type_compare(self, input_str, ocr_str, idx, **kwargs):
82 if not isinstance(input_str, str) or not isinstance(ocr_str, str): 90 if not isinstance(input_str, str) or not isinstance(ocr_str, str):
83 return self.RESULT_N 91 return self.RESULT_N, ocr_str
84 for map_tuple in self.TYPE_MAPPING: 92 for map_tuple in self.TYPE_MAPPING:
85 if re.search(map_tuple[0], ocr_str) is not None: 93 if re.search(map_tuple[0], ocr_str) is not None:
86 compare_str = map_tuple[1] 94 compare_str = map_tuple[1]
...@@ -88,7 +96,7 @@ class Comparison: ...@@ -88,7 +96,7 @@ class Comparison:
88 else: 96 else:
89 compare_str = self.CSOTH 97 compare_str = self.CSOTH
90 98
91 return self.build_res(input_str == compare_str) 99 return self.build_res(input_str == compare_str), ocr_str
92 100
93 101
94 cp = Comparison() 102 cp = Comparison()
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!