ProjectDjango/DjangoTestDataDialog.py

Thu, 10 Jan 2019 14:21:03 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 10 Jan 2019 14:21:03 +0100
changeset 142
ecadd7fd0963
parent 125
d280acf98fb5
child 145
104b14713e9e
permissions
-rw-r--r--

Updated copyright for 2019.

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
142
ecadd7fd0963 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
3 # Copyright (c) 2017 - 2019 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
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
10 from __future__ import unicode_literals
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
11
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 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
13
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 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
15
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 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
18 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 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
20 """
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
21 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
22 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Constructor
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 @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
26 @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
27 @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
28 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
29 @type bool
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @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
31 @type QWidget
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 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
34 self.setupUi(self)
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.__project = project
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.labelsComboBox.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("RecentTestLabels"))
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.tagsComboBox.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("RecentTestTags"))
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.excludeTagsComboBox.addItems(
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 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
44
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 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
46 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
47 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
48
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
49 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
50
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 msh = self.minimumSizeHint()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 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
53
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 def getData(self):
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 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
57
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @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
59 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
60 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
61 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
62 @rtype tuple of
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 (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
64 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 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
66 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
67 if labelsStr:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 labels = labelsStr.split()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 else:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 labels = []
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
72 tagsStr = self.tagsComboBox.currentText()
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
73 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
74 if tagsStr:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 tags = tagsStr.split()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 else:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 tags = []
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
79 excludeTagsStr = self.excludeTagsComboBox.currentText()
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
80 self.__project.setMostRecentTestData("RecentTestExcludeTags",
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
81 excludeTagsStr)
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 if excludeTagsStr:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 excludeTags = excludeTagsStr.split()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 else:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 excludeTags = []
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 return (
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 labels,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.testFilePatternsEdit.text(),
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 tags,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 excludeTags,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.keepCheckBox.isChecked(),
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.reverseCheckBox.isChecked(),
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 )

eric ide

mercurial