eric7/DataViews/PyCoverageJsonReportDialog.py

Sun, 05 Jun 2022 17:17:44 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 05 Jun 2022 17:17:44 +0200
branch
eric7-maintenance
changeset 9131
bc0c1b6d6adb
permissions
-rw-r--r--

Corrected the VCS tracing state of the recently merged files.

9131
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de>
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the parameters for a coverage JSON
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 report.
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt6.QtCore import pyqtSlot
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from EricWidgets.EricPathPicker import EricPathPickerModes
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from .Ui_PyCoverageJsonReportDialog import Ui_PyCoverageJsonReportDialog
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class PyCoverageJsonReportDialog(QDialog, Ui_PyCoverageJsonReportDialog):
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Class implementing a dialog to enter the parameters for a coverage JSON
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 report.
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 def __init__(self, defaultDirectory, parent=None):
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Constructor
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @param defaultDirectory default directory for selecting the output
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 directory
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @type str
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param parent reference to the parent widget (defaults to None)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @type QWidget (optional)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 super().__init__(parent)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.setupUi(self)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.outputFilePicker.setMode(
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.outputFilePicker.setDefaultDirectory(defaultDirectory)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.outputFilePicker.setFilters(
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.tr("JSON Files (*.json);;All Files (*)"))
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.outputFilePicker.setText(
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 os.path.join(defaultDirectory, "coverage.json"))
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 msh = self.minimumSizeHint()
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.resize(max(self.width(), msh.width()), msh.height())
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @pyqtSlot(str)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 def on_outputFilePicker_textChanged(self, filename):
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 Private slot handling a change of the output file.
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 @param filename current text of the file picker
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @type str
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.buttonBox.button(
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 QDialogButtonBox.StandardButton.Ok).setEnabled(bool(filename))
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 def getData(self):
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 Public method to get the entered data.
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 @return tuple containing the output file and a flag indicating the
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 creation of a compact JSON file
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 @rtype tuple of (str, bool)
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 return (
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.outputFilePicker.currentText(),
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.compactCheckBox.isChecked(),
bc0c1b6d6adb Corrected the VCS tracing state of the recently merged files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 )

eric ide

mercurial