#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ # @Version : Python 3.11.4 # @Software : Sublime Text 4 # @Author : StudentCWZ # @Email : StudentCWZ@outlook.com # @Date : 2023/11/19 14:59 # @File : log.py # @Description : Defines the Log model for the application. """ # Import built-in modules import os # Import custom modules from application.extensions.init_sqlalchemy import db class Log(db.Model): """ The Log model for the application. Each instance of this model represents a row in the 'logs' database table which is defined by the 'TableName' environment variable or defaults to 'logs'. """ __tablename__ = os.environ.get('TableName', 'logs') id = db.Column(db.Integer, primary_key=True, autoincrement=True) date_time = db.Column(db.DateTime, nullable=False) uuid = db.Column(db.String(80)) mid = db.Column(db.String(80)) mid_type = db.Column(db.String(80)) mac_wifi = db.Column(db.String(80)) mac_voice = db.Column(db.String(80)) code = db.Column(db.SmallInteger) query = db.Column(db.String(80)) terminal_domain = db.Column(db.String(80)) terminal_intent = db.Column(db.String(80)) distribution_gree_domain = db.Column(db.String(80)) distribution_gree_intent = db.Column(db.String(80)) response_text = db.Column(db.Text) emotion_class = db.Column(db.String(80)) skill_id = db.Column(db.String(80)) voice_portal = db.Column(db.SmallInteger) service_nlu = db.Column(db.String(80)) service_type = db.Column(db.SmallInteger) slots = db.Column(db.Text) yzs_request_id = db.Column(db.String(80)) yzs_remote_ip = db.Column(db.String(80)) yzs_app_key = db.Column(db.String(80)) yzs_ud_id = db.Column(db.String(80)) yzs_user_id = db.Column(db.String(80)) yzs_intent = db.Column(db.Text) yzs_general = db.Column(db.Text) yzs_nlu_time = db.Column(db.String(80)) get_body_time = db.Column(db.String(80)) gree_nlu_time = db.Column(db.String(80)) get_homeid_time = db.Column(db.String(80)) tencent_nlu_time = db.Column(db.String(80)) cost_time = db.Column(db.String(80)) def __repr__(self) -> str: """ Returns a string representation of a Log instance. Returns: str: A string representation of a Log instance. """ return f'' def to_dict(self) -> dict: """ Converts the Log instance to a dictionary. Returns: dict: A dictionary representation of the Log instance. """ _dic = {} for key, value in self.__dict__.items(): if str(key).startswith("_"): # Ignore attributes starting with an underscore continue _dic[key] = value return _dic