Add TODOs

This commit is contained in:
mesonium
2024-06-18 16:11:53 +02:00
committed by hueso
parent 18c4fe9361
commit aff69e5b40

View File

@@ -40,7 +40,6 @@ if TYPE_CHECKING:
log = logging.getLogger('gajim.p.sttvm_config_dialog')
SUPPORTED_MODELS: dict[str, dict[str, typing.Union[list[str], Any, str]]] = {
'model_openaiwhisper': {
'moduls': ['whisper'],
@@ -72,20 +71,25 @@ class Configuration:
self._available_models: dict[
str, dict[str, typing.Union[list[str], Any, str]]] = {}
self.check_available_moduls()
@property
def plugin(self) -> STTVoiceMessagesPlugin:
return self._plugin
@property
def available_models(self) -> dict[str, dict[str, typing.Union[list[str], Any, str]]]:
def available_models(self) -> dict[
str, dict[str, typing.Union[list[str], Any, str]]]:
return self._available_models
def on_setting(self, value: Any, data: Any) -> None:
if isinstance(value, str):
value.strip()
log.debug('plugin config before:\n %s', self.plugin.config.data)
# TODO: Is 'modelname_key = value' a good design?
self.plugin.config[data] = value
# TODO: Apply setting only to specific instance
self._plugin.config['model_instance'].on_setting(data, value)
log.debug('plugin config after:\n %s', self.plugin.config.data)
@@ -94,11 +98,13 @@ class Configuration:
value.strip()
log.debug('plugin config before:\n %s', self.plugin.config.data)
self._available_models[value]['model_instance'] = self._available_models[value]['class']()
self._available_models[value]['model_instance'] = \
self._available_models[value]['class']()
self.plugin.config['model_class'] = self._available_models[value][
'class']
self.plugin.config['model_instance'] = self._available_models[value]['model_instance']
self.plugin.config['model_instance'] = self._available_models[value][
'model_instance']
self.on_setting(value, data)
log.debug('plugin config after:\n %s', self.plugin.config.data)
@@ -136,7 +142,6 @@ class Configuration:
log.debug('models = %s', self._available_models)
class PreferenceBox(SettingsBox):
def __init__(self, settings: list[Setting]) -> None:
SettingsBox.__init__(self, None)
@@ -185,7 +190,6 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
class STTBehaviour(PreferenceBox):
def __init__(self, config_dialog: STTVoiceMessagesConfigDialog) -> None:
settings = [
Setting(SettingKind.SWITCH,
_('Auto Transcribe'),
@@ -220,12 +224,12 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
class OpenAIWhisperGeneral(PreferenceBox):
def __init__(self, config_dialog: STTVoiceMessagesConfigDialog) -> None:
settings = [
Setting(SettingKind.POPOVER,
_('Language Model Size'),
SettingType.VALUE,
value=config_dialog.plugin.config['whisperai_model_size'],
value=config_dialog.plugin.config[
'whisperai_model_size'],
data='whisperai_model_size',
callback=config_dialog.config.on_setting,
props={'entries': whisper.available_models()}),
@@ -233,7 +237,8 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
Setting(SettingKind.SWITCH,
_('Translate'),
SettingType.VALUE,
value=config_dialog.plugin.config['whisperai_translate'],
value=config_dialog.plugin.config[
'whisperai_translate'],
data='whisperai_translate',
callback=config_dialog.config.on_setting)
]
@@ -246,5 +251,3 @@ class STTVoiceMessagesConfigDialog(Gtk.ApplicationWindow):
pref = klass(self) # pyright: ignore
pref_box.add(pref)
self._prefs[ui_name] = pref