update index_in_request with doc_type
This commit is contained in:
parent
056052f1a2
commit
b8e37068f6
@ -194,10 +194,12 @@ def process_pdf(rq_id, sub_id, p_type, user_id, files):
|
|||||||
for j in range(len(_b_urls)):
|
for j in range(len(_b_urls)):
|
||||||
_b_urls[j]["doc_type"] = file["file_type"]
|
_b_urls[j]["doc_type"] = file["file_type"]
|
||||||
_b_urls[j]["page_number"] = idx
|
_b_urls[j]["page_number"] = idx
|
||||||
|
_b_urls[j]["index_to_image_type"] = file["index_in_request"]
|
||||||
return idx, _b_urls[0]
|
return idx, _b_urls[0]
|
||||||
elif extension in image_extensions:
|
elif extension in image_extensions:
|
||||||
this_url = ProcessUtil.process_image_local_file(file["file_name"], file["file_path"], new_request, user, file["file_type"], file["index_in_request"])[0]
|
this_url = ProcessUtil.process_image_local_file(file["file_name"], file["file_path"], new_request, user, file["file_type"], file["index_in_request"])[0]
|
||||||
this_url["page_number"] = idx
|
this_url["page_number"] = idx
|
||||||
|
this_url["index_to_image_type"] = file["index_in_request"]
|
||||||
if file["file_type"]:
|
if file["file_type"]:
|
||||||
this_url["doc_type"] = file["file_type"]
|
this_url["doc_type"] = file["file_type"]
|
||||||
return idx, this_url
|
return idx, this_url
|
||||||
@ -222,6 +224,7 @@ def process_pdf(rq_id, sub_id, p_type, user_id, files):
|
|||||||
file_meta["ai_inference_profile"] = {}
|
file_meta["ai_inference_profile"] = {}
|
||||||
file_meta["index_in_request"] = i
|
file_meta["index_in_request"] = i
|
||||||
file_meta["preprocessing_time"] = preprocessing_time
|
file_meta["preprocessing_time"] = preprocessing_time
|
||||||
|
file_meta["index_to_image_type"] = b_url["index_to_image_type"]
|
||||||
to_queue.append((fractorized_request_id, sub_id, [b_url], user_id, p_type, file_meta))
|
to_queue.append((fractorized_request_id, sub_id, [b_url], user_id, p_type, file_meta))
|
||||||
|
|
||||||
# Send to next queue
|
# Send to next queue
|
||||||
|
@ -147,8 +147,11 @@ def process_invoice_sbt_result(rq_id, result, metadata):
|
|||||||
rq_id = rq_id.split("_sub_")[0]
|
rq_id = rq_id.split("_sub_")[0]
|
||||||
rq: SubscriptionRequest = SubscriptionRequest.objects.filter(request_id=rq_id).first()
|
rq: SubscriptionRequest = SubscriptionRequest.objects.filter(request_id=rq_id).first()
|
||||||
|
|
||||||
|
image_type = metadata["doc_type"]
|
||||||
|
index_in_request = metadata.pop("index_to_image_type", 0)
|
||||||
result["metadata"] = metadata
|
result["metadata"] = metadata
|
||||||
# status = to_status(result)
|
_update_subscription_rq_file(request_id=rq, index_in_request=index_in_request, doc_type=image_type, result=result)
|
||||||
|
|
||||||
status = result.get("status", 200)
|
status = result.get("status", 200)
|
||||||
redis_client.set_cache(rq_id, page_index, result)
|
redis_client.set_cache(rq_id, page_index, result)
|
||||||
done = rq.pages == redis_client.get_size(rq_id)
|
done = rq.pages == redis_client.get_size(rq_id)
|
||||||
@ -174,56 +177,48 @@ def process_invoice_sbt_result(rq_id, result, metadata):
|
|||||||
rq.status = 404 # stop waiting
|
rq.status = 404 # stop waiting
|
||||||
rq.predict_result = result
|
rq.predict_result = result
|
||||||
rq.save()
|
rq.save()
|
||||||
_update_subscription_rq_file(request_id=rq_id)
|
|
||||||
update_user(rq)
|
update_user(rq)
|
||||||
except IndexError as e:
|
except IndexError as e:
|
||||||
print(e)
|
print(e)
|
||||||
print("NotFound request by requestId, %d", rq_id)
|
print("NotFound request by requestId, %d", rq_id)
|
||||||
rq.ai_inference_time = 0
|
rq.ai_inference_time = 0
|
||||||
rq.save()
|
rq.save()
|
||||||
_update_subscription_rq_file(request_id=rq_id)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
print("Fail Invoice %d", rq_id)
|
print("Fail Invoice %d", rq_id)
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
rq.ai_inference_time = 0
|
rq.ai_inference_time = 0
|
||||||
rq.save()
|
rq.save()
|
||||||
_update_subscription_rq_file(request_id=rq_id)
|
|
||||||
return "FailInvoice"
|
return "FailInvoice"
|
||||||
|
|
||||||
|
|
||||||
def _update_subscription_rq_file(request_id):
|
def _update_subscription_rq_file(request_id, index_in_request, doc_type, result):
|
||||||
sub_rqs = SubscriptionRequest.objects.filter(request_id=request_id).first()
|
image = SubscriptionRequestFile.objects.filter(request=request_id, index_in_request=index_in_request, doc_type=doc_type).first()
|
||||||
result = sub_rqs.predict_result
|
|
||||||
if result is None:
|
|
||||||
return
|
|
||||||
|
|
||||||
files = SubscriptionRequestFile.objects.filter(request=sub_rqs)
|
retailer_name = None
|
||||||
for image in files:
|
sold_to_party = None
|
||||||
retailer_name = None
|
purchase_date = []
|
||||||
sold_to_party = None
|
imei_number = []
|
||||||
purchase_date = []
|
predicted_res = __get_actual_predict_result(result=result)
|
||||||
imei_number = []
|
if len(predicted_res)!=0:
|
||||||
predicted_res = __get_actual_predict_result(result=result)
|
for elem in predicted_res:
|
||||||
if len(predicted_res)!=0:
|
if elem["label"] == "retailername":
|
||||||
for elem in predicted_res:
|
retailer_name = elem['value']
|
||||||
if elem["label"] == "retailername":
|
elif elem["label"] == "sold_to_party":
|
||||||
retailer_name = elem['value']
|
sold_to_party = elem['value']
|
||||||
elif elem["label"] == "sold_to_party":
|
elif elem["label"] == "purchase_date":
|
||||||
sold_to_party = elem['value']
|
purchase_date = elem['value']
|
||||||
elif elem["label"] == "purchase_date":
|
else:
|
||||||
purchase_date=elem['value']
|
imei_number = elem['value']
|
||||||
else:
|
|
||||||
imei_number=elem['value']
|
|
||||||
|
|
||||||
_predict_result = {
|
_predict_result = {
|
||||||
"retailername": retailer_name,
|
"retailername": retailer_name,
|
||||||
"sold_to_party": sold_to_party,
|
"sold_to_party": sold_to_party,
|
||||||
"purchase_date": purchase_date,
|
"purchase_date": purchase_date,
|
||||||
"imei_number": imei_number
|
"imei_number": imei_number
|
||||||
}
|
}
|
||||||
image.predict_result = _predict_result
|
image.predict_result = _predict_result
|
||||||
image.save()
|
image.save()
|
||||||
|
|
||||||
def __get_actual_predict_result(result: dict):
|
def __get_actual_predict_result(result: dict):
|
||||||
predicted_res = result.get('content', {}).get('document', [])
|
predicted_res = result.get('content', {}).get('document', [])
|
||||||
|
Loading…
Reference in New Issue
Block a user