ProjectDjango/DjangoCheckOptionsDialog.py

Fri, 12 Jul 2024 08:31:14 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 12 Jul 2024 08:31:14 +0200
branch
eric7
changeset 193
bf4c1a7833b4
parent 191
7b03dfe583e3
child 197
2667e16a3379
permissions
-rw-r--r--

Fixed an issue causing the 'New Template' function to fail.

78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
191
7b03dfe583e3 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 190
diff changeset
3 # Copyright (c) 2016 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the options for a check operation.
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
12 from PyQt6.QtCore import QProcess, Qt, pyqtSlot
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
13 from PyQt6.QtWidgets import QDialog
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
15 from eric7 import Preferences
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
16
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
17 try:
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
18 from eric7.EricGui import EricPixmapCache
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
19 except ImportError:
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
20 from UI import PixmapCache as EricPixmapCache
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
21
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
22 from eric7.EricWidgets import EricFileDialog
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
24 try:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
25 from eric7.SystemUtilities.FileSystemUtilities import (
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
26 relativeUniversalPath,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
27 toNativeSeparators,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
28 )
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
29 except ImportError:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
30 # imports for eric < 23.1
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
31 from eric7.Utilities import relativeUniversalPath, toNativeSeparators
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
32
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 from .Ui_DjangoCheckOptionsDialog import Ui_DjangoCheckOptionsDialog
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 class DjangoCheckOptionsDialog(QDialog, Ui_DjangoCheckOptionsDialog):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 Class implementing a dialog to enter the options for a check operation.
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
40
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 def __init__(self, python, path, apps, deployMode, parent=None):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 Constructor
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
44
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 @param python path of the Python executable
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 @type str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 @param path site path to run the manage.py script with
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 @type str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @param apps list of recently used application strings
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @type list of str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 @param deployMode flag indicating to activate the deployment mode
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 @type bool
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 @param parent reference to the parent widget
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 @type QWidget
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
56 super().__init__(parent)
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.setupUi(self)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
58
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
59 self.settingsFileButton.setIcon(EricPixmapCache.getIcon("open"))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
60
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 self.__python = python
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.__path = path
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
63
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.appsComboBox.addItems([""] + apps)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
65
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.deployCheckBox.setChecked(deployMode)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.on_deployCheckBox_toggled(deployMode)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
68
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 @pyqtSlot(bool)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 def on_deployCheckBox_toggled(self, checked):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 Private slot handling a change of the deploy check box.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
73
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 @param checked state of the check box
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 @type bool
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 self.settingsFileGroup.setEnabled(checked)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.__populateTagsList(checked)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
79
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 @pyqtSlot()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 def on_settingsFileButton_clicked(self):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 Private slot to select a settings file via a file selection dialog.
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 path = self.__moduleToPath(self.settingsFileEdit.text())
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 if not path:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 path = self.__path
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
88 settingsFile = EricFileDialog.getOpenFileName(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
89 self, self.tr("Select settings file"), path, self.tr("Python Files (*.py)")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
90 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
91
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 if settingsFile:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.settingsFileEdit.setText(self.__pathToModule(settingsFile))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
94
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 def __pathToModule(self, path):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 Private method to convert a file path including a .py extension to a
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 module name.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
99
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 @param path file path to be converted
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 @type str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 @return module name
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 @rtype str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
105 start = self.__path[:-1] if self.__path.endswith(("/", "\\")) else self.__path
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
106 relPath = relativeUniversalPath(path, start)
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 mod = os.path.splitext(relPath)[0].replace("/", ".")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 return mod
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
109
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 def __moduleToPath(self, moduleName):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 Private method to convert a module name to an file path.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
113
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 @param moduleName module name to be converted
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 @type str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 @return file path
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 @rtype str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 if moduleName:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 mod = "{0}.py".format(moduleName.replace(".", "/"))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 if not os.path.isabs(mod):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 mod = os.path.join(self.__path, mod)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
123
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
124 path = toNativeSeparators(mod)
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 else:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 path = ""
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 return path
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
128
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 def __populateTagsList(self, deployMode):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 Private slot to populate the tags list.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
132
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 @param deployMode flag indicating the deployment mode
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 @type bool
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 # step 1: save the selected tags
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 selectedTags = []
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 for itm in self.tagsList.selectedItems():
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 selectedTags.append(itm.text())
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
140
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 # step 2: clear the list
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 self.tagsList.clear()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
143
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 # step 3: get the available tags and populate the list
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 args = []
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 args.append("manage.py")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 args.append("check")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 args.append("--list-tags")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 if deployMode:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 args.append("--deploy")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
151
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 proc = QProcess()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 if self.__path:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 proc.setWorkingDirectory(self.__path)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 proc.start(self.__python, args)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
156 if proc.waitForStarted() and proc.waitForFinished():
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
157 output = str(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
158 proc.readAllStandardOutput(),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
159 Preferences.getSystem("IOEncoding"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
160 "replace",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
161 )
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
162 for line in output.splitlines():
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
163 self.tagsList.addItem(line.strip())
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
164
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 # step 4: re-select tags
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 for tag in selectedTags:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
167 items = self.tagsList.findItems(tag, Qt.MatchFlag.MatchCaseSensitive)
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 if items:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 items[0].setSelected(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
170
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 def getData(self):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 Public method to get the options for the check operation.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
174
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 @return tuple containing the deployment flag, list of selected tags,
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 applications string and the settings file
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 @rtype tuple of bool, list of str, str and str
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 selectedTags = []
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 for itm in self.tagsList.selectedItems():
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 selectedTags.append(itm.text())
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
182
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 return (
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 self.deployCheckBox.isChecked(),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 selectedTags,
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 self.appsComboBox.currentText(),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 self.settingsFileEdit.text(),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 )

eric ide

mercurial