This commit is contained in:
2026-02-02 16:42:57 +01:00
parent 5b32a402a6
commit 2ba836c284
3 changed files with 28 additions and 23 deletions

View File

@@ -62,25 +62,28 @@ class AutomationDocument(ModelSQL, ModelView, Workflow):
def run_ocr(cls, docs):
for doc in docs:
try:
# Décoder le fichier depuis le champ Binary
file_data = doc.document.data or b""
logger.info(f"File size: {len(file_data)} bytes")
logger.info(f"First 20 bytes: {file_data[:20]}")
logger.info(f"Last 20 bytes: {file_data[-20:]}")
if doc.type == 'weight_report':
# Décoder le fichier depuis le champ Binary
file_data = doc.document.data or b""
logger.info(f"File size: {len(file_data)} bytes")
logger.info(f"First 20 bytes: {file_data[:20]}")
logger.info(f"Last 20 bytes: {file_data[-20:]}")
file_name = doc.document.name or "document"
file_name = doc.document.name or "document"
# Envoyer le fichier au service OCR
response = requests.post(
"http://automation-service:8006/ocr",
files={"file": (file_name, io.BytesIO(file_data))}
)
response.raise_for_status()
data = response.json()
logger.info("RUN_OCR_RESPONSE:%s",data)
doc.ocr_text = data.get("ocr_text", "")
doc.state = "ocr_done"
doc.notes = (doc.notes or "") + "OCR done\n"
# Envoyer le fichier au service OCR
response = requests.post(
"http://automation-service:8006/ocr",
files={"file": (file_name, io.BytesIO(file_data))}
)
response.raise_for_status()
data = response.json()
logger.info("RUN_OCR_RESPONSE:%s",data)
doc.ocr_text = data.get("ocr_text", "")
doc.state = "ocr_done"
doc.notes = (doc.notes or "") + "OCR done\n"
else:
doc.ocr_text = (file_data or b'').decode('utf-8', errors='replace')
except Exception as e:
doc.state = "error"

View File

@@ -50,7 +50,7 @@ class Incoming(metaclass=PoolMeta):
wr.state = 'draft'
WR.save([wr])
WR.run_ocr([wr])
WR.run_metadata([wr])
# WR.run_metadata([wr])
return wr

View File

@@ -115,15 +115,17 @@ this repository contains the full copyright notices and license terms. -->
<field name="controller"/>
<button name="send" string="Send email to controller"/>
<newline/>
<label name="result"/>
<field name="result"/>
<label name="add_bl"/>
<field name="add_bl"/>
<newline/>
<label name="add_invoice"/>
<field name="add_invoice"/>
<newline/>
<label name="result"/>
<field name="result"/>
<newline/>
<label name="instructions"/>
<field name="instructions" widget="html_viewer" colspan="4" height="100"/>
<label name="add_bl"/>
<field name="add_bl"/>
<field name="instructions" widget="Email" colspan="4" height="100"/>
<newline/>
<label name="returned_id"/>
<field name="returned_id"/>