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 dssadvertisefields(models.Model): @api.model def create(self,vals): result = super().create(vals) return result _name = "dss.display.templates" _description = "DigitalSignage Displayvorlage" _inherit = ['mail.thread','mail.activity.mixin'] _rec_name = "displayname" # _inherit = ['mail.thread', 'mail.activity.mixin'] uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID') date_create = fields.Date('Erstellungsdatum',default=lambda self: self._default_create_date()) date_lastedit = fields.Date('Änderungsdatum') user_create = fields.Char('Erstellungsuser',default=lambda self: self._default_create_user()) user_lastedit = fields.Char('Änderungsuser') # uuid = fields.Char('UUID', required=True, translate=True) displayname = fields.Char('Template Feldname', required=True,tracking=True) feldtemplates = fields.Many2many('dss.advertisefields.templates' , string='Vertrag', store=True,tracking=True) fullsize_w = fields.Integer("Auflösung Breite",tracking=True) fullsize_h = fields.Integer("Auflösung Höhe",tracking=True) def _default_create_date(self): return str(date.today()) def _default_create_user(self): return str(self.env.user.name) @api.model def _default_uuid(self): return str(uuid.uuid4()) @api.model def get_data(self): alldata = self.env['dss.display.templates'].search([]) outlist = [] self.env["confirmation.wizard"].with_context(hide_cancel=True).confirm_no_action_message(message="Debug : "+str(len(alldata))+"/"+str(alldata),title="Notification") _logger.info("Screendesigner Displaydata DataRequest : " + str(len(alldata))+"/"+str(alldata)) a = 0 for data in alldata: a += 1 outlist.append({'uuid' : data.uuid,'displayname':data.displayname,'fullsizew':data.fullsize_w,'fullsizeh':data.fullsize_w,'nr':a}) return outlist