Fri, 27 Sep 2024 10:59:59 +0200
Fixed an issue in the virtual env manager package when used in the standalone application.
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10194
diff
changeset
|
3 | # Copyright (c) 2018 - 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to enter the data of a virtual environment. |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9434
diff
changeset
|
12 | from PyQt6.QtCore import Qt, pyqtSlot |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
13 | from PyQt6.QtWidgets import QDialog, QDialogButtonBox |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
15 | from eric7.EricWidgets.EricApplication import ericApp |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
16 | from eric7.EricWidgets.EricPathPicker import EricPathPickerModes |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
17 | from eric7.SystemUtilities import FileSystemUtilities, OSUtilities, PythonUtilities |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | from .Ui_VirtualenvAddEditDialog import Ui_VirtualenvAddEditDialog |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
20 | from .VirtualenvMeta import VirtualenvMetaData |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | class VirtualenvAddEditDialog(QDialog, Ui_VirtualenvAddEditDialog): |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | Class implementing a dialog to enter the data of a virtual environment. |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
27 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
28 | def __init__( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
29 | self, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
30 | manager, |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
31 | metadata=None, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
32 | baseDir="", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
33 | parent=None, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
34 | ): |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
37 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | @param manager reference to the virtual environment manager |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | @type VirtualenvManager |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
40 | @param metadata object containing the metadata of the virtual environment |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
41 | (defaults to None) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
42 | @type VirtualenvMetaData (optional) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
43 | @param baseDir base directory for the virtual environments (defaults to "") |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
44 | @type str (optional) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
45 | @param parent reference to the parent widget (defaults to None) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
46 | @type QWidget (optional) |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
48 | super().__init__(parent) |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.setupUi(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
50 | |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
51 | self.__venvName = "" if metadata is None else metadata.name |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.__manager = manager |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
53 | self.__editMode = bool(self.__venvName) |
10931
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
54 | try: |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
55 | self.__serverInterface = ericApp().getObject("EricServer") |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
56 | self.__fsInterface = self.__serverInterface.getServiceInterface("FileSystem") |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
57 | except KeyError: |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
58 | self.__serverInterface = None |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
59 | self.__fsInterface = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
60 | |
7910
2eeec6bc49e6
VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
61 | if self.__editMode: |
2eeec6bc49e6
VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
62 | self.setWindowTitle(self.tr("Edit Virtual Environment")) |
2eeec6bc49e6
VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
63 | else: |
2eeec6bc49e6
VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
64 | self.setWindowTitle(self.tr("Add Virtual Environment")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
65 | |
7910
2eeec6bc49e6
VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
66 | self.__envBaseDir = baseDir |
2eeec6bc49e6
VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
67 | if not self.__envBaseDir: |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
68 | self.__envBaseDir = OSUtilities.getHomeDir() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
69 | |
10931
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
70 | self.serverRadioButton.setEnabled( |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
71 | self.__serverInterface is not None |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
72 | and self.__serverInterface.isServerConnected() |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
73 | ) |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
74 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8327
diff
changeset
|
75 | self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self.targetDirectoryPicker.setWindowTitle( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
77 | self.tr("Virtualenv Target Directory") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
78 | ) |
10931
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
79 | if ( |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
80 | self.__serverInterface is not None |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
81 | and self.__serverInterface.isServerConnected() |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
82 | ): |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
83 | self.targetDirectoryPicker.setRemote( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
84 | metadata.is_eric_server if metadata else False |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
85 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
86 | if metadata is None or (not metadata.is_eric_server and not metadata.is_remote): |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
87 | self.targetDirectoryPicker.setDefaultDirectory(self.__envBaseDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
88 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8327
diff
changeset
|
89 | self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
90 | self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter")) |
10931
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
91 | if ( |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
92 | self.__serverInterface is not None |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
93 | and self.__serverInterface.isServerConnected() |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
94 | ): |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
95 | self.pythonExecPicker.setRemote( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
96 | metadata.is_eric_server if metadata else False |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
97 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
98 | if metadata is None or (not metadata.is_eric_server and not metadata.is_remote): |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
99 | self.pythonExecPicker.setDefaultDirectory( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
100 | PythonUtilities.getPythonExecutable() |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
101 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
102 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
103 | self.execPathEdit.setToolTip( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
104 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
105 | "Enter the executable search path to be prepended to the PATH" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
106 | " environment variable. Use '{0}' as the separator." |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
107 | ).format(os.pathsep) |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
108 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
109 | |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
110 | self.nameEdit.setText(self.__venvName) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
111 | if metadata: |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
112 | if metadata.path: |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
113 | self.targetDirectoryPicker.setText( |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
114 | metadata.path, |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
115 | toNative=not metadata.is_remote and not metadata.is_eric_server, |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
116 | ) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
117 | else: |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
118 | self.targetDirectoryPicker.setText( |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
119 | self.__envBaseDir, |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
120 | toNative=not metadata.is_remote and not metadata.is_eric_server, |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
121 | ) |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
122 | if ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
123 | not metadata.interpreter |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
124 | and metadata.path |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
125 | and not metadata.is_remote |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
126 | and not metadata.is_eric_server |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
127 | ): |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
128 | py = self.__detectPythonInterpreter(metadata.path) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
129 | self.pythonExecPicker.setText(py) |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
130 | else: |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
131 | self.pythonExecPicker.setText( |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
132 | metadata.interpreter, |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
133 | toNative=not metadata.is_remote and not metadata.is_eric_server, |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
134 | ) |
7910
2eeec6bc49e6
VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
135 | else: |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
136 | self.targetDirectoryPicker.setText(self.__envBaseDir, toNative=True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
137 | |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
138 | self.globalCheckBox.setChecked(metadata.is_global if metadata else False) |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
139 | self.standardRadioButton.setChecked(True) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
140 | self.anacondaRadioButton.setChecked(metadata.is_conda if metadata else False) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
141 | self.remoteRadioButton.setChecked(metadata.is_remote if metadata else False) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
142 | self.serverRadioButton.setChecked( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
143 | metadata.is_eric_server if metadata else False |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
144 | ) |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
145 | self.execPathEdit.setText(metadata.exec_path if metadata else "") |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
146 | self.descriptionEdit.setPlainText(metadata.description if metadata else "") |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
147 | self.serverLineEdit.setText(metadata.eric_server if metadata else "") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
148 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | self.__updateOk() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
150 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
151 | self.nameEdit.setFocus(Qt.FocusReason.OtherFocusReason) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
152 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | def __updateOk(self): |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | Private slot to update the state of the OK button. |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | """ |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
157 | enable = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
158 | ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
159 | bool(self.nameEdit.text()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
160 | and ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
161 | self.nameEdit.text() == self.__venvName |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
162 | or self.__manager.isUnique(self.nameEdit.text()) |
6716
1c9d3b369ea8
VirtualEnv Manager: extended the environment definition by a flag indicating a remotely accessed environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
163 | ) |
6341
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
164 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
165 | if self.__editMode |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
166 | else ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
167 | bool(self.nameEdit.text()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
168 | and self.__manager.isUnique(self.nameEdit.text()) |
6716
1c9d3b369ea8
VirtualEnv Manager: extended the environment definition by a flag indicating a remotely accessed environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
169 | ) |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
171 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
172 | if not self.globalCheckBox.isChecked(): |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
173 | enable &= self.remoteRadioButton.isChecked() or ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
174 | bool(self.targetDirectoryPicker.text()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
175 | and self.targetDirectoryPicker.text() != self.__envBaseDir |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
176 | and ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
177 | ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
178 | self.serverRadioButton.isChecked() |
10931
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
179 | and self.__fsInterface is not None |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
180 | and self.__fsInterface.exists(self.targetDirectoryPicker.text()) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
181 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
182 | or ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
183 | not self.serverRadioButton.isChecked() |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
184 | and os.path.exists(self.targetDirectoryPicker.text()) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
185 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
186 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
187 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
188 | |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
189 | enable &= self.remoteRadioButton.isChecked() or ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
190 | bool(self.pythonExecPicker.text()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
191 | and ( |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
192 | ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
193 | self.serverRadioButton.isChecked() |
10931
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
194 | and self.__fsInterface is not None |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
195 | and self.__fsInterface.access( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
196 | self.pythonExecPicker.text(), "execute" |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
197 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
198 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
199 | or ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
200 | not self.serverRadioButton.isChecked() |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
201 | and os.access(self.pythonExecPicker.text(), os.X_OK) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
202 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
203 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
204 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
205 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
206 | self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enable) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
207 | |
8986
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
208 | def __detectPythonInterpreter(self, venvDirectory): |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
209 | """ |
9001
a00cd6b55728
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8987
diff
changeset
|
210 | Private method to search for a suitable Python interpreter inside an |
a00cd6b55728
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8987
diff
changeset
|
211 | environment. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
212 | |
8986
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
213 | @param venvDirectory directory for the virtual environment |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
214 | @type str |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
215 | @return detected Python interpreter or empty string |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
216 | @rtype str |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
217 | """ |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
218 | if venvDirectory: |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
219 | # try to determine a Python interpreter name |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
220 | if OSUtilities.isWindowsPlatform(): |
8986
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
221 | candidates = ( |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
222 | os.path.join(venvDirectory, "Scripts", "python.exe"), |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
223 | os.path.join(venvDirectory, "python.exe"), |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
224 | ) |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
225 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
226 | candidates = (os.path.join(venvDirectory, "bin", "python3"),) |
8986
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
227 | for py in candidates: |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
228 | if os.path.exists(py): |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
229 | return py |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
230 | |
8986
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
231 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
232 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | @pyqtSlot(str) |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | def on_nameEdit_textChanged(self, txt): |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | Private slot to handle changes of the logical name. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
237 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | @param txt current logical name |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | @type str |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | self.__updateOk() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
242 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | @pyqtSlot(str) |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | def on_targetDirectoryPicker_textChanged(self, txt): |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | Private slot to handle changes of the virtual environment directory. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
247 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | @param txt virtual environment directory |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | @type str |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | self.__updateOk() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
252 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | if txt: |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | self.pythonExecPicker.setDefaultDirectory(txt) |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | else: |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
256 | self.pythonExecPicker.setDefaultDirectory( |
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
257 | PythonUtilities.getPythonExecutable() |
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
258 | ) |
8986
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
259 | py = self.__detectPythonInterpreter(txt) |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
260 | if py: |
665d14b3c01a
Virtual Environment Management: added code to autodetect the Python interpreter at several places.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8980
diff
changeset
|
261 | self.pythonExecPicker.setText(py) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
262 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | @pyqtSlot(str) |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | def on_pythonExecPicker_textChanged(self, txt): |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | Private slot to handle changes of the virtual environment interpreter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
267 | |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | @param txt virtual environment interpreter |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | @type str |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | """ |
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | self.__updateOk() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
272 | |
6341
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
273 | @pyqtSlot(bool) |
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
274 | def on_globalCheckBox_toggled(self, checked): |
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
275 | """ |
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
276 | Private slot handling a change of the global check box state. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
277 | |
6341
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
278 | @param checked state of the check box |
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
279 | @type bool |
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
280 | """ |
a00e63f6d766
VirtualenvManager: changed code to allow environments without environment directory denoting a global environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6338
diff
changeset
|
281 | self.__updateOk() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
282 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
283 | @pyqtSlot(bool) |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
284 | def on_remoteRadioButton_toggled(self, checked): |
6716
1c9d3b369ea8
VirtualEnv Manager: extended the environment definition by a flag indicating a remotely accessed environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
285 | """ |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
286 | Private slot handling a change of the remote radio button state. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
287 | |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
288 | @param checked state of the radio button |
6716
1c9d3b369ea8
VirtualEnv Manager: extended the environment definition by a flag indicating a remotely accessed environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
289 | @type bool |
1c9d3b369ea8
VirtualEnv Manager: extended the environment definition by a flag indicating a remotely accessed environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
290 | """ |
1c9d3b369ea8
VirtualEnv Manager: extended the environment definition by a flag indicating a remotely accessed environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
291 | self.__updateOk() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
292 | |
6716
1c9d3b369ea8
VirtualEnv Manager: extended the environment definition by a flag indicating a remotely accessed environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
293 | @pyqtSlot(bool) |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
294 | def on_serverRadioButton_toggled(self, checked): |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
295 | """ |
10765
b0632e55ec9a
Changed 'eric IDE server' to 'eric-ide server'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10725
diff
changeset
|
296 | Private slot handling a change of the eric-ide server radio button state. |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
297 | |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
298 | @param checked state of the radio button |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
299 | @type bool |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
300 | """ |
10931
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
301 | if ( |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
302 | self.__serverInterface is not None |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
303 | and self.__serverInterface.isServerConnected() |
56f41b1e163a
Fixed an issue in the virtual env manager package when used in the standalone application.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10765
diff
changeset
|
304 | ): |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
305 | self.targetDirectoryPicker.setRemote(checked) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
306 | self.pythonExecPicker.setRemote(checked) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
307 | self.serverLineEdit.setText( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
308 | self.__serverInterface.getHost() if checked else "" |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
309 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
310 | |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
311 | self.__updateOk() |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
312 | |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
313 | @pyqtSlot(bool) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
314 | def on_anacondaRadioButton_clicked(self, checked): |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
315 | """ |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
316 | Private slot handling a user click on this radio button. |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
317 | |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
318 | @param checked state of the radio button |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
319 | @type bool |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
320 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
321 | if checked and not bool(self.execPathEdit.text()): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
322 | # prepopulate the execPathEdit widget |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
323 | if OSUtilities.isWindowsPlatform(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
324 | self.execPathEdit.setText( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
325 | os.pathsep.join( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
326 | [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
327 | self.targetDirectoryPicker.text(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
328 | os.path.join(self.targetDirectoryPicker.text(), "Scripts"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
329 | os.path.join( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
330 | self.targetDirectoryPicker.text(), "Library", "bin" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
331 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
332 | ] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
333 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
334 | ) |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
335 | else: |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
336 | self.execPathEdit.setText( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
337 | os.path.join(self.targetDirectoryPicker.text(), "bin"), |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6362
diff
changeset
|
338 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
339 | |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
340 | def getMetaData(self): |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | """ |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
342 | Public method to retrieve the entered metadata. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
343 | |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
344 | @return metadata for the virtual environment |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
345 | @rtype VirtualenvMetaData |
6338
104ee21d765d
VirtualEnv: finished implementing a virtualenv manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | """ |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
347 | nativePaths = ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
348 | not self.remoteRadioButton.isChecked() |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
349 | and not self.serverRadioButton.isChecked() |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
350 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
351 | is_eric_server = self.serverRadioButton.isChecked() |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
352 | envPath = ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
353 | FileSystemUtilities.remoteFileName(self.targetDirectoryPicker.text()) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
354 | if is_eric_server |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
355 | else FileSystemUtilities.plainFileName( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
356 | self.targetDirectoryPicker.text(toNative=nativePaths) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
357 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
358 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
359 | interpreter = ( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
360 | FileSystemUtilities.remoteFileName(self.pythonExecPicker.text()) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
361 | if is_eric_server |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
362 | else FileSystemUtilities.plainFileName( |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
363 | self.pythonExecPicker.text(toNative=nativePaths) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
364 | ) |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
365 | ) |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
366 | return VirtualenvMetaData( |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
367 | name=self.nameEdit.text(), |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
368 | path=envPath, |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
369 | interpreter=interpreter, |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
370 | is_global=self.globalCheckBox.isChecked(), |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
371 | is_conda=self.anacondaRadioButton.isChecked(), |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
372 | is_remote=self.remoteRadioButton.isChecked(), |
10194
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
373 | exec_path=self.execPathEdit.text(), |
2c26b4fe25db
Refactored the 'VirtualEnv' code for better maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
374 | description=self.descriptionEdit.toPlainText(), |
10725
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
375 | is_eric_server=is_eric_server, |
51fe971610d3
Virtual Environment Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
376 | eric_server=self.serverLineEdit.text(), |
6362
ec32d1d7f525
Virtual Environments: improved the virtual environment handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6349
diff
changeset
|
377 | ) |