ProjectDjango/DjangoTestDataDialog.py

Wed, 30 Dec 2020 11:02:06 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 30 Dec 2020 11:02:06 +0100
changeset 168
c6182aab51e9
parent 163
1622130167bb
child 169
b8f263e05c39
permissions
-rw-r--r--

Updated copyright for 2021.

110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
168
c6182aab51e9 Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3 # Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter some data for running tests.
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt5.QtWidgets import QDialog
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from .Ui_DjangoTestDataDialog import Ui_DjangoTestDataDialog
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 class DjangoTestDataDialog(QDialog, Ui_DjangoTestDataDialog):
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Class implementing a dialog to enter some data for running tests.
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 """
119
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 113
diff changeset
19 def __init__(self, project, keepDatabases, parent=None):
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Constructor
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 @param project reference to the Django project object
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 @type Project
119
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 113
diff changeset
25 @param keepDatabases flag indicating to set the keep databases
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 113
diff changeset
26 check box
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 113
diff changeset
27 @type bool
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param parent reference to the parent widget
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @type QWidget
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 super(DjangoTestDataDialog, self).__init__(parent)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 self.setupUi(self)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.__project = project
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.labelsComboBox.addItems(
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.__project.getRecentTestData("RecentTestLabels"))
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.tagsComboBox.addItems(
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.__project.getRecentTestData("RecentTestTags"))
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.excludeTagsComboBox.addItems(
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.__project.getRecentTestData("RecentTestExcludeTags"))
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 if self.__project.getDjangoVersion() < (1, 10, 0):
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.tagsComboBox.setEnabled(False)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.excludeTagsComboBox.setEnabled(False)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
119
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 113
diff changeset
47 self.keepCheckBox.setChecked(keepDatabases)
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 113
diff changeset
48
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 msh = self.minimumSizeHint()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.resize(max(self.width(), msh.width()), msh.height())
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 def getData(self):
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Public method to get the entered data.
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @return tuple containing a list of test labels, a test file pattern,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 a list of test tags, a list of test tags to be skipped, a flag
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 indicating to keep the test database and a flag indicating to run
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 the tests in reverse order
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 @rtype tuple of
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 (list of str, str, list of str, list of str, bool, bool)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 labelsStr = self.labelsComboBox.currentText()
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
64 self.__project.setMostRecentTestData("RecentTestLabels", labelsStr)
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 if labelsStr:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 labels = labelsStr.split()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 else:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 labels = []
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
70 tagsStr = self.tagsComboBox.currentText()
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
71 self.__project.setMostRecentTestData("RecentTestTags", tagsStr)
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 if tagsStr:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 tags = tagsStr.split()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 else:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 tags = []
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
77 excludeTagsStr = self.excludeTagsComboBox.currentText()
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
78 self.__project.setMostRecentTestData("RecentTestExcludeTags",
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
79 excludeTagsStr)
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 if excludeTagsStr:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 excludeTags = excludeTagsStr.split()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 else:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 excludeTags = []
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 return (
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 labels,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 self.testFilePatternsEdit.text(),
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 tags,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 excludeTags,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 self.keepCheckBox.isChecked(),
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 self.reverseCheckBox.isChecked(),
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 )

eric ide

mercurial