nfu/data_nature_importer/models/product_template.py

44 lines
1.2 KiB
Python

from odoo import models
from .. import utils as dn_utils
class ProductTemplate(models.Model):
_inherit = "product.template"
def action_sync_datanature_image(self):
for product in self:
product.with_delay()._sync_datanature_image()
def _get_dn_metadata(self):
self.ensure_one()
if not self.barcode:
return False
metadata = dn_utils.get_datanature_metadata(self, self.barcode)
if not metadata:
return False
return metadata[0]
def _get_dn_image(self):
self.ensure_one()
metadata = self._get_dn_metadata()
if not metadata or not metadata.get("images"):
return False
images = metadata.get("images")
if not images:
return False
image_id = None
for img in images:
if img.get("default") == "true":
image_id = img.get("id")
break
image_data = dn_utils.get_datanature_image(self, image_id, token=None)
if image_data:
return image_data
return False
def _sync_datanature_image(self):
self.ensure_one()
image_data = self._get_dn_image()
if image_data:
self.image_1920 = image_data