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