Merge branch 'model_logger' into UI_2.0
This commit is contained in:
11
config.py
11
config.py
@@ -442,6 +442,16 @@ class Config:
|
|||||||
self._SELECTED_TAB_TARGET_LANGUAGES = value
|
self._SELECTED_TAB_TARGET_LANGUAGES = value
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def ENABLE_LOGGER(self):
|
||||||
|
return self._ENABLE_LOGGER
|
||||||
|
|
||||||
|
@ENABLE_LOGGER.setter
|
||||||
|
def ENABLE_LOGGER(self, value):
|
||||||
|
if type(value) is bool:
|
||||||
|
self._ENABLE_LOGGER = value
|
||||||
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
# Config Window
|
# Config Window
|
||||||
@property
|
@property
|
||||||
def IS_CONFIG_WINDOW_COMPACT_MODE(self):
|
def IS_CONFIG_WINDOW_COMPACT_MODE(self):
|
||||||
@@ -515,6 +525,7 @@ class Config:
|
|||||||
"2":"English\n(United States)",
|
"2":"English\n(United States)",
|
||||||
"3":"English\n(United States)",
|
"3":"English\n(United States)",
|
||||||
}
|
}
|
||||||
|
self._ENABLE_LOGGER = False
|
||||||
|
|
||||||
# Config Window
|
# Config Window
|
||||||
self._IS_CONFIG_WINDOW_COMPACT_MODE = False
|
self._IS_CONFIG_WINDOW_COMPACT_MODE = False
|
||||||
|
|||||||
10
main.py
10
main.py
@@ -31,6 +31,8 @@ def sendMicMessage(message):
|
|||||||
view.printToTextbox_OSCError()
|
view.printToTextbox_OSCError()
|
||||||
|
|
||||||
view.printToTextbox_SentMessage(message, translation)
|
view.printToTextbox_SentMessage(message, translation)
|
||||||
|
if config.ENABLE_LOGGER is True:
|
||||||
|
model.logger.info(f"[SEND] {message} ({translation})")
|
||||||
|
|
||||||
def startTranscriptionSendMessage():
|
def startTranscriptionSendMessage():
|
||||||
model.startMicTranscript(sendMicMessage)
|
model.startMicTranscript(sendMicMessage)
|
||||||
@@ -57,6 +59,8 @@ def receiveSpeakerMessage(message):
|
|||||||
xsoverlay_message = xsoverlay_message.replace("[translation]", translation)
|
xsoverlay_message = xsoverlay_message.replace("[translation]", translation)
|
||||||
model.notificationXSOverlay(xsoverlay_message)
|
model.notificationXSOverlay(xsoverlay_message)
|
||||||
view.printToTextbox_ReceivedMessage(message, translation)
|
view.printToTextbox_ReceivedMessage(message, translation)
|
||||||
|
if config.ENABLE_LOGGER is True:
|
||||||
|
model.logger.info(f"[RECEIVE] {message} ({translation})")
|
||||||
|
|
||||||
def startTranscriptionReceiveMessage():
|
def startTranscriptionReceiveMessage():
|
||||||
model.startSpeakerTranscript(receiveSpeakerMessage)
|
model.startSpeakerTranscript(receiveSpeakerMessage)
|
||||||
@@ -90,6 +94,8 @@ def sendChatMessage(message):
|
|||||||
|
|
||||||
# update textbox message log
|
# update textbox message log
|
||||||
view.printToTextbox_SentMessage(message, translation)
|
view.printToTextbox_SentMessage(message, translation)
|
||||||
|
if config.ENABLE_LOGGER is True:
|
||||||
|
model.logger.info(f"[SEND] {message} ({translation})")
|
||||||
|
|
||||||
# delete message in entry message box
|
# delete message in entry message box
|
||||||
if config.ENABLE_AUTO_CLEAR_MESSAGE_BOX is True:
|
if config.ENABLE_AUTO_CLEAR_MESSAGE_BOX is True:
|
||||||
@@ -359,6 +365,10 @@ model.checkOSCStarted()
|
|||||||
# check Software Updated
|
# check Software Updated
|
||||||
model.checkSoftwareUpdated()
|
model.checkSoftwareUpdated()
|
||||||
|
|
||||||
|
# init logger
|
||||||
|
if config.ENABLE_LOGGER is True:
|
||||||
|
model.startLogger()
|
||||||
|
|
||||||
# set UI and callback
|
# set UI and callback
|
||||||
view.register(
|
view.register(
|
||||||
sidebar_features={
|
sidebar_features={
|
||||||
|
|||||||
19
model.py
19
model.py
@@ -1,3 +1,6 @@
|
|||||||
|
from os import makedirs
|
||||||
|
from datetime import datetime
|
||||||
|
from logging import getLogger, FileHandler, Formatter, INFO
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
from threading import Thread, Event
|
from threading import Thread, Event
|
||||||
@@ -49,6 +52,7 @@ class Model:
|
|||||||
return cls._instance
|
return cls._instance
|
||||||
|
|
||||||
def init(self):
|
def init(self):
|
||||||
|
self.logger = None
|
||||||
self.mic_energy_recorder = None
|
self.mic_energy_recorder = None
|
||||||
self.mic_energy_plot_progressbar = None
|
self.mic_energy_plot_progressbar = None
|
||||||
self.speaker_energy_get_progressbar = None
|
self.speaker_energy_get_progressbar = None
|
||||||
@@ -77,6 +81,21 @@ class Model:
|
|||||||
config.AUTH_KEYS = auth_keys
|
config.AUTH_KEYS = auth_keys
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def startLogger(self):
|
||||||
|
makedirs("./logs", exist_ok=True)
|
||||||
|
logger = getLogger()
|
||||||
|
logger.setLevel(INFO)
|
||||||
|
file_name = f"./logs/{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.log"
|
||||||
|
file_handler = FileHandler(file_name, encoding="utf-8", delay=True)
|
||||||
|
formatter = Formatter("[%(asctime)s] %(message)s")
|
||||||
|
file_handler.setFormatter(formatter)
|
||||||
|
logger.addHandler(file_handler)
|
||||||
|
self.logger = logger
|
||||||
|
|
||||||
|
def stopLogger(self):
|
||||||
|
self.logger.disabled = True
|
||||||
|
self.logger = None
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def getListLanguageAndCountry():
|
def getListLanguageAndCountry():
|
||||||
langs = []
|
langs = []
|
||||||
|
|||||||
Reference in New Issue
Block a user