ProjectFlask/FlaskConfigDialog.py

Sat, 23 Dec 2023 15:48:52 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:52 +0100
branch
eric7
changeset 83
d8788dc3442f
parent 82
bb14c648099b
child 84
f39230b845e4
permissions
-rw-r--r--

Updated copyright for 2024.

47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
83
d8788dc3442f Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 82
diff changeset
3 # Copyright (c) 2020 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to configure project specific flask settings.
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
10 from PyQt6.QtCore import pyqtSlot
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
11 from PyQt6.QtWidgets import QDialog
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
72
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
13 from eric7 import Preferences
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
14 from eric7.EricWidgets.EricApplication import ericApp
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
15
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
16 try:
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
17 from eric7.EricGui import EricPixmapCache
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
18 except ImportError:
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
19 from UI import PixmapCache as EricPixmapCache
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 from .Ui_FlaskConfigDialog import Ui_FlaskConfigDialog
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 class FlaskConfigDialog(QDialog, Ui_FlaskConfigDialog):
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Class implementing a dialog to configure project specific flask settings.
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
28
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
29 def __init__(self, configuration, project, parent=None):
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 Constructor
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
32
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param configuration current project specific configuration
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @type dict
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
35 @param project reference to the flask project object
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
36 @type Project
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @param parent reference to the parent widget
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 @type QWidget
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
61
fe1e8783a95f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
40 super().__init__(parent)
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.setupUi(self)
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
42
72
4557829a4acf Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
43 self.newEnvironmentButton.setIcon(EricPixmapCache.getIcon("virtualenvConfig"))
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
44
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
45 self.__project = project
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
46
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
47 self.__virtualEnvManager = ericApp().getObject("VirtualEnvManager")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
48
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.virtualEnvironmentComboBox.addItem("")
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.virtualEnvironmentComboBox.addItems(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
51 sorted(
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
52 self.__virtualEnvManager.getVirtualenvNames(noRemote=True, noConda=True)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
53 )
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 )
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
55
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
56 if "virtual_environment_name" in configuration:
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
57 self.virtualEnvironmentComboBox.setCurrentText(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
58 configuration["virtual_environment_name"]
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
59 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
60 self.flaskBabelBox.setChecked(configuration.get("flask_babel_override", False))
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
61 self.flaskBabelCheckBox.setChecked(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
62 configuration.get("flask_babel_available", False)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
63 )
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
64 self.flaskMigrateBox.setChecked(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
65 configuration.get("flask_migrate_override", False)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
66 )
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
67 self.flaskMigrateCheckBox.setChecked(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
68 configuration.get("flask_migrate_available", False)
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
69 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
70
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 msh = self.minimumSizeHint()
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.resize(max(self.width(), msh.width()), msh.height())
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
73
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 def getConfiguration(self):
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 Public method to get the entered configuration data.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
77
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 @return project specific configuration
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 @rtype dict
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 configuration = {
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
82 "virtual_environment_name": self.virtualEnvironmentComboBox.currentText(),
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
83 "flask_babel_override": self.flaskBabelBox.isChecked(),
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
84 "flask_babel_available": self.flaskBabelCheckBox.isChecked(),
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
85 "flask_migrate_override": self.flaskMigrateBox.isChecked(),
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
86 "flask_migrate_available": self.flaskMigrateCheckBox.isChecked(),
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 }
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
88
47
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 return configuration
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
90
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
91 @pyqtSlot()
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
92 def on_newEnvironmentButton_clicked(self):
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
93 """
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
94 Private slot to open a dialog for adding a new virtual environment.
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
95 """
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
96 from .FlaskVirtualenvConfigurationDialog import (
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
97 FlaskVirtualenvConfigurationDialog,
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
98 )
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
99
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
100 ericProject = ericApp().getObject("Project")
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
101 dlg = FlaskVirtualenvConfigurationDialog(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
102 ericProject.getProjectPath(), ericProject.getProjectName(), self
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
103 )
64
0ee58185b8df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
104 if dlg.exec() == QDialog.DialogCode.Accepted:
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
105 resultDict = dlg.getData()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
106
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
107 # now do the call
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
108 from VirtualEnv.VirtualenvExecDialog import VirtualenvExecDialog
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
109
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
110 dia = VirtualenvExecDialog(resultDict, self.__virtualEnvManager, self)
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
111 dia.show()
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
112 dia.start(resultDict["arguments"])
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
113 dia.exec()
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
114
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
115 self.virtualEnvironmentComboBox.clear()
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
116 self.virtualEnvironmentComboBox.addItem("")
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
117 self.virtualEnvironmentComboBox.addItems(
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
118 sorted(
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
119 self.__virtualEnvManager.getVirtualenvNames(
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
120 noRemote=True, noConda=True
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
121 )
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
122 )
49
3866bd742041 Finished implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
123 )
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
124
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
125 self.virtualEnvironmentComboBox.setCurrentText(resultDict["logicalName"])
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
126
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
127 self.__installFlask(resultDict["targetDirectory"])
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
128
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
129 def __installFlask(self, venvDir):
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
130 """
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
131 Private method to install flask into the newly created environment.
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
132
61
fe1e8783a95f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
133 @param venvDir directory containing the virtual environment
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
134 @type str
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
135 """
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
136 from PipInterface.PipDialog import PipDialog
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
137
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
138 interpreter = self.__project.getFullCommand("python", venvDir)
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
139 if Preferences.getPip("PipSearchIndex"):
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
140 indexUrl = Preferences.getPip("PipSearchIndex") + "/simple"
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
141 args = ["-m", "pip", "install", "--index-url", indexUrl]
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
142 else:
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
143 args = ["-m", "pip", "install"]
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
144 args.append("flask")
70
22e1d0f69668 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 66
diff changeset
145 dia = PipDialog(self.tr("Install Flask"), self)
52
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
146 res = dia.startProcess(interpreter, args)
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
147 if res:
caddf9f36f9f Added the capability to create project specific virtual environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 49
diff changeset
148 dia.exec()

eric ide

mercurial