OllamaInterface/ConfigurationPage/OllamaPage.py

changeset 16
cb6af351310b
child 17
43b1396fe72f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OllamaInterface/ConfigurationPage/OllamaPage.py	Thu Aug 29 13:11:59 2024 +0200
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the 'ollama' interface configuration page.
+"""
+
+from eric7.Preferences.ConfigurationPages.ConfigurationPageBase import (
+    ConfigurationPageBase,
+)
+
+from .Ui_OllamaPage import Ui_OllamaPage
+
+
+class OllamaPage(ConfigurationPageBase, Ui_OllamaPage):
+    """
+    Class implementing the 'ollama' interface configuration page.
+    """
+
+    def __init__(self, plugin):
+        """
+        Constructor
+
+        @param plugin reference to the plugin object
+        @type PluginOllamaInterface
+        """
+        super().__init__()
+        self.setupUi(self)
+        self.setObjectName("OllamaPage")
+
+        self.__plugin = plugin
+
+        # set initial values
+        self.serverSchemeComboBox.setCurrentText(
+            self.__plugin.getPreferences("OllamaScheme")
+        )
+        self.serverHostEdit.setText(self.__plugin.getPreferences("OllamaHost"))
+        self.serverPortSpinBox.setValue(self.__plugin.getPreferences("OllamaPort"))
+        
+        self.localServerPortSpinBox.setValue(
+            self.__plugin.getPreferences("OllamaLocalPort")
+        )
+        
+        self.modelLibraryUrlEdit.setText(
+            self.__plugin.getPreferences("OllamaModelLibraryUrl")
+        )
+        
+        self.heartbeatSpinBox.setValue(
+            self.__plugin.getPreferences("OllamaHeartbeatInterval")
+        )
+        self.streamingChatCheckBox.setChecked(
+            self.__plugin.getPreferences("StreamingChatResponse")
+        )
+
+    def save(self):
+        """
+        Public slot to save the 'ollama' interface configuration.
+        """
+        self.__plugin.setPreferences(
+            "OllamaScheme", self.serverSchemeComboBox.currentText()
+        )
+        self.__plugin.setPreferences(
+            "OllamaHost", self.serverHostEdit.text()
+        )
+        self.__plugin.setPreferences(
+            "OllamaPort", self.serverPortSpinBox.value()
+        )
+
+        self.__plugin.setPreferences(
+            "OllamaLocalPort", self.localServerPortSpinBox.value()
+        )
+
+        self.__plugin.setPreferences(
+            "OllamaModelLibraryUrl", self.modelLibraryUrlEdit.text()
+        )
+
+        self.__plugin.setPreferences(
+            "OllamaHeartbeatInterval", self.heartbeatSpinBox.value()
+        )
+        self.__plugin.setPreferences(
+            "StreamingChatResponse", self.streamingChatCheckBox.isChecked()
+        )

eric ide

mercurial