ProjectFlask/FlaskConfigDialog.py

Tue, 01 Dec 2020 20:22:23 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 01 Dec 2020 20:22:23 +0100
changeset 47
144b67fd111a
child 49
3866bd742041
permissions
-rw-r--r--

Started implementing project specific flask settings.

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
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2020 Detlev Offenbach <detlev@die-offenbachs.de>
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
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt5.QtCore import pyqtSlot
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt5.QtWidgets import QDialog
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from E5Gui.E5Application import e5App
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_FlaskConfigDialog import Ui_FlaskConfigDialog
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 class FlaskConfigDialog(QDialog, Ui_FlaskConfigDialog):
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 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
21 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 def __init__(self, configuration, parent=None):
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 Constructor
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 @param configuration current project specific configuration
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @type dict
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param parent reference to the parent widget
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @type QWidget
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 super(FlaskConfigDialog, self).__init__(parent)
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 self.setupUi(self)
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.virtualEnvironmentComboBox.addItem("")
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.virtualEnvironmentComboBox.addItems(
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 sorted(e5App().getObject("VirtualEnvManager").getVirtualenvNames(
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 noRemote=True, noConda=True
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 ))
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 )
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 # TODO: set initial values based on configuration
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 msh = self.minimumSizeHint()
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.resize(max(self.width(), msh.width()), msh.height())
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 def getConfiguration(self):
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 Public method to get the entered configuration data.
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @return project specific configuration
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 @rtype dict
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 """
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 configuration = {
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 "virtual_environment_name":
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.virtualEnvironmentComboBox.currentText(),
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 }
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
144b67fd111a Started implementing project specific flask settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 return configuration

eric ide

mercurial