65 lines
2.1 KiB
Python
65 lines
2.1 KiB
Python
import ast
|
|
import datetime
|
|
import json
|
|
import re
|
|
import uuid
|
|
import logging
|
|
import base64
|
|
import subprocess
|
|
import tempfile
|
|
import easywebdav
|
|
import os
|
|
import os.path
|
|
|
|
|
|
from odoo import api, fields, models, _
|
|
from odoo import tools
|
|
from odoo.exceptions import ValidationError
|
|
from datetime import date
|
|
from datetime import datetime
|
|
from dateutil.relativedelta import relativedelta
|
|
from pyffmpeg import FFmpeg
|
|
from tuya_iot import TuyaOpenAPI, TUYA_LOGGER
|
|
from tuya_connector import TuyaOpenAPI, TUYA_LOGGER
|
|
import sys
|
|
|
|
TUYA_LOGGER.setLevel(logging.DEBUG)
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class dsssystemtypen(models.Model):
|
|
|
|
|
|
_name = "dss.systemtypen"
|
|
_inherit = ['mail.thread']
|
|
_description = "DigitalSignage Systemtypen"
|
|
_rec_name = "systemname"
|
|
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
|
systemname = fields.Char('Systemname', required=True)
|
|
kennung = fields.Char('Kurzkennung', required=True)
|
|
farbe = fields.Char('Grundfarbe')
|
|
icon = fields.Image()
|
|
icon_5050 = fields.Image("Icon 50",compute='_compute_icon_5050')
|
|
default_adstructure = fields.Many2one('dss.adstructures',String='Standard-Werbeaufbau')
|
|
default_cloud_path = fields.Char('Standard Cloud Path')
|
|
@api.model
|
|
def _default_uuid(self):
|
|
return str(uuid.uuid4())
|
|
|
|
@api.depends('icon')
|
|
def _compute_icon_5050(self):
|
|
for rec in self:
|
|
if rec.icon != False:
|
|
_logger.info('compute 50x50 icon for '+rec.uuid)
|
|
# rec.mediafile_preview = self._generate_preview_from_binary(base64.decodebytes(rec.mediafile))
|
|
# rec.icon_5050 = tools.image_resize_image(rec.icon,size=(50,50),avoid_if_small=True)
|
|
rec.icon_5050 = rec.icon
|
|
# if rec.mediafile != False:
|
|
# rec.mediafile_preview = self._generate_preview_from_binary(base64.decodebytes(rec.mediafile))
|
|
# rec.mediafile_preview = None
|
|
else:
|
|
_logger.info('alternative compute '+rec.uuid)
|
|
rec.icon_5050 = rec.icon
|
|
return
|
|
|