From 1f4b36633b15b6eb291e642440b63f5cbae9d080 Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Sat, 21 Mar 2026 19:39:15 +0100 Subject: [PATCH] 21.03.26 --- modules/purchase_trade/purchase.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/modules/purchase_trade/purchase.py b/modules/purchase_trade/purchase.py index 2d09ed0..0ce3a43 100755 --- a/modules/purchase_trade/purchase.py +++ b/modules/purchase_trade/purchase.py @@ -24,6 +24,8 @@ import jwt from collections import defaultdict from trytond.exceptions import UserWarning, UserError from trytond.modules.purchase_trade.numbers_to_words import quantity_to_words, amount_to_currency_words, format_date_en +import requests +import io logger = logging.getLogger(__name__) @@ -550,12 +552,10 @@ class AssayImporter: # ----------------------------- # HEADER # ----------------------------- - def _update_assay(self, data): + def _update_assay(self, data, assay): Party = Pool().get('party.party') metadata = data.get('document_metadata', {}) - assay = self.Assay() - assay.reference = metadata.get('report_reference') assay.date = self._parse_date(metadata.get('issue_date')) assay.type = self._map_type(metadata.get('status')) @@ -1109,6 +1109,17 @@ class Line(metaclass=PoolMeta): if line.assays: for assay in line.assays: if not assay.lines and assay.document: + file_data = assay.document or b"" + logger.info(f"File size: {len(file_data)} bytes") + file_name = assay.file_name or "document" + + response = requests.post( + "http://62.72.36.116:8006/ocr-parse-assay", + files={"file": (file_name, io.BytesIO(file_data))} + ) + response.raise_for_status() + f = response.json() + logger.info("RUN_OCR_RESPONSE:%s",f) data = json.load(f) importer = AssayImporter() importer.import_from_json(data,assay)