Sat, 03 Aug 2024 19:54:43 +0200
Filled in some of the skeleton methods.
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
2 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
3 | # Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
4 | # |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
5 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
6 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
7 | Module implementing the ollama Interface plug-in. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
8 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
9 | |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
10 | import os |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
11 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
12 | from PyQt6.QtCore import QObject, Qt, QTranslator |
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
13 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
14 | from eric7 import Preferences |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
15 | from eric7.EricWidgets.EricApplication import ericApp |
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
16 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
17 | # Start-Of-Header |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
18 | __header__ = { |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
19 | "name": "ollama Interface", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
20 | "author": "Detlev Offenbach <detlev@die-offenbachs.de>", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
21 | "autoactivate": True, |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
22 | "deactivateable": True, |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
23 | "version": "10.0.0", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
24 | "className": "PluginOllamaInterface", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
25 | "packageName": "OllamaInterface", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
26 | "shortDescription": "Grapgical 'ollama' client for eric-ide.", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
27 | "longDescription": ( |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
28 | "Plug-in implementing an 'ollama' client and interface widgets." |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
29 | ), |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
30 | "needsRestart": False, |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
31 | "pyqtApi": 2, |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
32 | } |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
33 | # End-Of-Header |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
34 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
35 | error = "" # noqa: U200 |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
36 | |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
37 | ollamaInterfacePluginObject = None |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
38 | |
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
39 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
40 | def pageCreationFunction(configDlg): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
41 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
42 | Function to create the Translator configuration page. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
43 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
44 | @param configDlg reference to the configuration dialog |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
45 | @type ConfigurationWidget |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
46 | @return reference to the configuration page |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
47 | @rtype TranslatorPage |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
48 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
49 | # TODO: not implemented yet |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
50 | page = None # change this line to create the configuration page |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
51 | return page |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
52 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
53 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
54 | def getConfigData(): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
55 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
56 | Function returning data as required by the configuration dialog. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
57 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
58 | @return dictionary containing the relevant data |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
59 | @rtype dict |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
60 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
61 | # TODO: not implemented yet |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
62 | return { |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
63 | "<unique key>": [ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
64 | "<display string>", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
65 | "<pixmap filename>", |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
66 | pageCreationFunction, |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
67 | None, |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
68 | None, |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
69 | ], |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
70 | } |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
71 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
72 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
73 | def prepareUninstall(): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
74 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
75 | Function to prepare for an un-installation. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
76 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
77 | Preferences.getSettings().remove(PluginOllamaInterface.PreferencesKey) |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
78 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
79 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
80 | def clearPrivateData(): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
81 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
82 | Function to clear the private data of the plug-in. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
83 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
84 | # TODO: not implemented yet |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
85 | pass |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
86 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
87 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
88 | class PluginOllamaInterface(QObject): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
89 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
90 | Class documentation goes here. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
91 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
92 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
93 | PreferencesKey = "Ollama" |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
94 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
95 | def __init__(self, ui): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
96 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
97 | Constructor |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
98 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
99 | @param ui reference to the user interface object |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
100 | @type UI.UserInterface |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
101 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
102 | super().__init__(ui) |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
103 | self.__ui = ui |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
104 | self.__initialize() |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
105 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
106 | self.__defaults = { |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
107 | "OllamaScheme": "http", |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
108 | "OllamaHost": "localhost", |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
109 | "OllamaPort": 11434, |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
110 | } |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
111 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
112 | self.__translator = None |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
113 | self.__loadTranslator() |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
114 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
115 | def __initialize(self): |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
116 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
117 | Private slot to (re)initialize the plugin. |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
118 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
119 | self.__widget = None |
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
120 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
121 | def activate(self): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
122 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
123 | Public method to activate this plug-in. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
124 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
125 | @return tuple of None and activation status |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
126 | @rtype bool |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
127 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
128 | global error |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
129 | error = "" # clear previous error |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
130 | # TODO: not implemented yet |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
131 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
132 | return None, True |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
133 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
134 | def deactivate(self): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
135 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
136 | Public method to deactivate this plug-in. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
137 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
138 | # TODO: not implemented yet |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
139 | pass |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
140 | |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
141 | def __loadTranslator(self): |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
142 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
143 | Private method to load the translation file. |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
144 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
145 | if self.__ui is not None: |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
146 | loc = self.__ui.getLocale() |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
147 | if loc and loc != "C": |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
148 | locale_dir = os.path.join( |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
149 | os.path.dirname(__file__), "OllamaInterface", "i18n" |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
150 | ) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
151 | translation = "ollama_{0}".format(loc) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
152 | translator = QTranslator(None) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
153 | loaded = translator.load(translation, locale_dir) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
154 | if loaded: |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
155 | self.__translator = translator |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
156 | ericApp().installTranslator(self.__translator) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
157 | else: |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
158 | print( |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
159 | "Warning: translation file '{0}' could not be" |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
160 | " loaded.".format(translation) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
161 | ) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
162 | print("Using default.") |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
163 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
164 | def __activateWidget(self): |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
165 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
166 | Private slot to handle the activation of the pipx interface. |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
167 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
168 | uiLayoutType = self.__ui.getLayoutType() |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
169 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
170 | if uiLayoutType == "Toolboxes": |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
171 | self.__ui.rToolboxDock.show() |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
172 | self.__ui.rToolbox.setCurrentWidget(self.__widget) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
173 | elif uiLayoutType == "Sidebars": |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
174 | try: |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
175 | self.__ui.activateLeftRightSidebarWidget(self.__widget) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
176 | except AttributeError: |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
177 | self.__activateLeftRightSidebarWidget(self.__widget) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
178 | else: |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
179 | self.__widget.show() |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
180 | self.__widget.setFocus(Qt.FocusReason.ActiveWindowFocusReason) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
181 | |
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
182 | def getPreferences(self, key): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
183 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
184 | Public method to retrieve the various settings values. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
185 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
186 | @param key the key of the value to get |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
187 | @type str |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
188 | @return the requested setting value |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
189 | @rtype Any |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
190 | """ |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
191 | if key in ("OllamaPort",): |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
192 | return int( |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
193 | Preferences.Prefs.settings.value( |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
194 | self.PreferencesKey + "/" + key, self.__defaults[key] |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
195 | ) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
196 | ) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
197 | else: |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
198 | return Preferences.Prefs.settings.value( |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
199 | self.PreferencesKey + "/" + key, self.__defaults[key] |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
200 | ) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
201 | |
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
202 | return None |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
203 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
204 | def setPreferences(self, key, value): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
205 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
206 | Public method to store the various settings values. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
207 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
208 | @param key the key of the setting to be set |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
209 | @type str |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
210 | @param value the value to be set |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
211 | @type Any |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
212 | """ |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
213 | Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
214 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
215 | ############################################################################ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
216 | ## Methods for backward compatibility with eric-ide < 24.9 |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
217 | ############################################################################ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
218 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
219 | def __activateLeftRightSidebarWidget(self, widget): |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
220 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
221 | Private method to activate the given widget in the left or right |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
222 | sidebar. |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
223 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
224 | @param widget reference to the widget to be activated |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
225 | @type QWidget |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
226 | """ |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
227 | # This is for backward compatibility with eric-ide < 24.9. |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
228 | sidebar = ( |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
229 | self.__ui.leftSidebar |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
230 | if Preferences.getUI("CombinedLeftRightSidebar") |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
231 | else self.__ui.rightSidebar |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
232 | ) |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
233 | sidebar.show() |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
234 | sidebar.setCurrentWidget(widget) |
1
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
235 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
236 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
237 | def installDependencies(pipInstall): |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
238 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
239 | Function to install dependencies of this plug-in. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
240 | |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
241 | @param pipInstall function to be called with a list of package names. |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
242 | @type function |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
243 | """ |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
244 | # TODO: not implemented yet |
124e1b8f276b
Created the plug-in skeleton.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
245 | pass |
2
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
246 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
247 | |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
248 | # |
fee250704d3d
Filled in some of the skeleton methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
249 | # eflag: noqa = M801, U200 |