👍️[Update] Optimize : Init完了時にrun\initialization_completeでconfig設定値をすべてresultで渡すように変更

This commit is contained in:
misyaguziya
2024-10-27 09:49:51 +09:00
parent ca7ba5ce09
commit 69d9de686e
2 changed files with 16 additions and 31 deletions

View File

@@ -25,31 +25,6 @@ class Controller:
def setRun(self, run:Callable[[int, str, Any], None]) -> None:
self.run = run
# configの初期値を設定
def sendConfigStatusTrueData(self) -> None:
for endpoint, dict_data in self.init_mapping.items():
if dict_data["status"] is True:
response = dict_data["variable"](None)
status = response.get("status", None)
result = response.get("result", None)
self.run(
status,
endpoint,
result,
)
def sendConfigStatusFalseData(self) -> None:
for endpoint, dict_data in self.init_mapping.items():
if dict_data["status"] is False:
response = dict_data["variable"](None)
status = response.get("status", None)
result = response.get("result", None)
self.run(
status,
endpoint,
result,
)
# response functions
def updateMicHostList(self) -> None:
self.run(
@@ -72,6 +47,18 @@ class Controller:
model.getListSpeakerDevice(),
)
def updateConfigSettings(self) -> None:
settings = {}
for endpoint, dict_data in self.init_mapping.items():
response = dict_data["variable"](None)
result = response.get("result", None)
settings[endpoint] = result
self.run(
200,
self.run_mapping["initialization_complete"],
settings,
)
def restartAccessDevices(self) -> None:
if config.ENABLE_TRANSCRIPTION_SEND is True:
self.startThreadingTranscriptionSendMessage()
@@ -1733,6 +1720,8 @@ class Controller:
if config.AUTO_SPEAKER_SELECT is True:
self.setEnableAutoSpeakerSelect()
self.updateConfigSettings()
printLog("End Initialization")
self.startWatchdog()

View File

@@ -34,6 +34,8 @@ run_mapping = {
"speaker_device_list":"/run/speaker_device_list",
"update_software_flag":"/run/update_software_flag",
"initialization_complete":"run/initialization_complete",
}
controller.setRunMapping(run_mapping)
@@ -395,15 +397,9 @@ if __name__ == "__main__":
main.startReceiver()
main.startHandler()
# mappingのget/data/*でかつstatus:Trueのendpointを実行する
controller.sendConfigStatusTrueData()
controller.setWatchdogCallback(main.stop)
controller.init()
# mappingのget/data/*でかつstatus:Falseのendpointを実行する
controller.sendConfigStatusFalseData()
# mappingのすべてのstatusをTrueにする
for key in mapping.keys():
mapping[key]["status"] = True