src/eric7/UI/ErrorLogDialog.py

Thu, 21 Dec 2023 19:50:01 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 21 Dec 2023 19:50:01 +0100
branch
eric7
changeset 10433
328f3ec4b77a
parent 9653
e67609152c5e
child 10439
21c28b0f9e41
permissions
-rw-r--r--

Converted some source code documentation to the new style.

1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9653
e67609152c5e Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
3 # Copyright (c) 2012 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to display an error log.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
10 import contextlib
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
13 from PyQt6.QtCore import Qt, pyqtSlot
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
14 from PyQt6.QtWidgets import QDialog, QStyle
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_ErrorLogDialog import Ui_ErrorLogDialog
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class ErrorLogDialog(QDialog, Ui_ErrorLogDialog):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class implementing a dialog to display an error log.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
23
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
24 def __init__(self, logFile, showMode, parent=None):
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
27
10433
328f3ec4b77a Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
28 @param logFile name of the log file containing the error info
328f3ec4b77a Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
29 @type str
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
30 @param showMode flag indicating to just show the error log message
10433
328f3ec4b77a Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
31 @type bool
328f3ec4b77a Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
32 @param parent reference to the parent widget
328f3ec4b77a Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
33 @type QWidget
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
35 super().__init__(parent)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.setupUi(self)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
37 self.setWindowFlags(Qt.WindowType.Window)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
38
7264
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
39 pixmap = (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
40 self.style()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
41 .standardIcon(QStyle.StandardPixmap.SP_MessageBoxQuestion)
3012
d177226027e2 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
42 .pixmap(32, 32)
7264
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
43 )
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.icon.setPixmap(pixmap)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
46 if showMode:
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
47 self.icon.hide()
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
48 self.label.hide()
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
49 self.deleteButton.setText(self.tr("Delete"))
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
50 self.keepButton.setText(self.tr("Close"))
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
51 self.setWindowTitle(self.tr("Error Log"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
52
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__ui = parent
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 self.__logFile = logFile
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
55
8243
cc717c2ae956 Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
56 with contextlib.suppress(OSError):
7785
9978016560ec Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
57 with open(logFile, "r", encoding="utf-8") as f:
9978016560ec Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
58 txt = f.read()
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.logEdit.setPlainText(txt)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
60
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 def on_emailButton_clicked(self):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 Private slot to send an email.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 """
1745
74c05a1ca2bc Fixed an issue with the new error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1740
diff changeset
66 self.accept()
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3012
diff changeset
67 self.__ui.showEmailDialog(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
68 "bug", attachFile=self.__logFile, deleteAttachFile=True
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
70
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 def on_deleteButton_clicked(self):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 Private slot to delete the log file.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 """
1740
6a92ffd41de8 Fixed an issue in the error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1726
diff changeset
76 if os.path.exists(self.__logFile):
6a92ffd41de8 Fixed an issue in the error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1726
diff changeset
77 os.remove(self.__logFile)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.accept()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
79
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 def on_keepButton_clicked(self):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 Private slot to just do nothing.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.accept()

eric ide

mercurial