src/eric7/DataViews/PyCoverageHtmlReportDialog.py

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

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:12 +0100
branch
eric7
changeset 10439
21c28b0f9e41
parent 9653
e67609152c5e
child 10441
a79201e0e149
permissions
-rw-r--r--

Updated copyright for 2024.

9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
3 # Copyright (c) 2022 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the parameters for a coverage HTML
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 report.
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtCore import pyqtSlot
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
14 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_PyCoverageHtmlReportDialog import Ui_PyCoverageHtmlReportDialog
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class PyCoverageHtmlReportDialog(QDialog, Ui_PyCoverageHtmlReportDialog):
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class implementing a dialog to enter the parameters for a coverage HTML
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 report.
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
24
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 def __init__(self, defaultDirectory, parent=None):
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
28
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @param defaultDirectory default directory for selecting the output
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 directory
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @type str
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @param parent reference to the parent widget (defaults to None)
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @type QWidget (optional)
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 super().__init__(parent)
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
37
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.outputDirectoryPicker.setMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
39 EricPathPickerModes.DIRECTORY_SHOW_FILES_MODE
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
40 )
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.outputDirectoryPicker.setDefaultDirectory(defaultDirectory)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
42
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
43 self.extraCssPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
44
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
46
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 msh = self.minimumSizeHint()
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.resize(max(self.width(), msh.width()), msh.height())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
49
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @pyqtSlot(str)
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 def on_outputDirectoryPicker_textChanged(self, directory):
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 Private slot handling a change of the output directory.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
54
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 @param directory current text of the directory picker
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @type str
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
58 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
59 bool(directory)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
60 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
61
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 def getData(self):
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 Public method to get the entered data.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
65
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @return tuple containing the report title, the output directory, the
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 path of a file containing extra CSS and a flag indicating to open
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 the generated report in a browser
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69
9078
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 @rtype tuple of (str, str, str, bool)
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 """
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 title = self.titleEdit.text()
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 return (
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 title if bool(title) else None,
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.outputDirectoryPicker.currentText(),
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.extraCssPicker.currentText(),
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 self.openReportCheckBox.isChecked(),
44d1d68096b6 Dataview Coverage
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 )

eric ide

mercurial