eric6/E5Gui/E5ErrorMessage.py

changeset 8268
6b8128e0c9d1
parent 8257
28146736bbfc
equal deleted inserted replaced
8267:6baca884c73a 8268:6b8128e0c9d1
8 """ 8 """
9 9
10 import contextlib 10 import contextlib
11 11
12 from PyQt5.QtCore import ( 12 from PyQt5.QtCore import (
13 qInstallMessageHandler, QtDebugMsg, QtWarningMsg, QtCriticalMsg, 13 qInstallMessageHandler, Qt, Q_ARG, QSettings, QtMsgType, QThread,
14 QtFatalMsg, QThread, QMetaObject, Qt, Q_ARG, QSettings 14 QMetaObject
15 ) 15 )
16 from PyQt5.QtWidgets import QErrorMessage, QDialog 16 from PyQt5.QtWidgets import QErrorMessage, QDialog
17 17
18 from E5Gui.E5Application import e5App 18 from E5Gui.E5Application import e5App
19 19
95 """ 95 """
96 from .E5ErrorMessageFilterDialog import E5ErrorMessageFilterDialog 96 from .E5ErrorMessageFilterDialog import E5ErrorMessageFilterDialog
97 dlg = E5ErrorMessageFilterDialog( 97 dlg = E5ErrorMessageFilterDialog(
98 Globals.toList(_filterSettings.value( 98 Globals.toList(_filterSettings.value(
99 "MessageFilters", []))) 99 "MessageFilters", [])))
100 ## _defaultFilters)
101 if dlg.exec() == QDialog.DialogCode.Accepted: 100 if dlg.exec() == QDialog.DialogCode.Accepted:
102 filters = dlg.getFilters() 101 filters = dlg.getFilters()
103 _filterSettings.setValue("MessageFilters", filters) 102 _filterSettings.setValue("MessageFilters", filters)
104 103
105 104
119 # severity is lower than configured 118 # severity is lower than configured
120 # just ignore the message 119 # just ignore the message
121 return 120 return
122 121
123 with contextlib.suppress(RuntimeError): 122 with contextlib.suppress(RuntimeError):
124 if msgType == QtDebugMsg: 123 if msgType == QtMsgType.QtDebugMsg:
125 messageType = "Debug Message:" 124 messageType = "Debug Message:"
126 elif msgType == QtWarningMsg: 125 elif msgType == QtMsgType.QtInfoMsg:
126 messageType = "Info Message:"
127 elif msgType == QtMsgType.QtWarningMsg:
127 messageType = "Warning:" 128 messageType = "Warning:"
128 elif msgType == QtCriticalMsg: 129 elif msgType == QtMsgType.QtCriticalMsg:
129 messageType = "Critical:" 130 messageType = "Critical:"
130 elif msgType == QtFatalMsg: 131 elif msgType == QtMsgType.QtFatalMsg:
131 messageType = "Fatal Error:" 132 messageType = "Fatal Error:"
132 if isinstance(message, bytes): 133 if isinstance(message, bytes):
133 message = Utilities.decodeBytes(message) 134 message = Utilities.decodeBytes(message)
134 if filterMessage(message): 135 if filterMessage(message):
135 return 136 return
159 return 160 return
160 elif _origMsgHandler: 161 elif _origMsgHandler:
161 _origMsgHandler(msgType, message) 162 _origMsgHandler(msgType, message)
162 return 163 return
163 164
164 if msgType == QtDebugMsg: 165 if msgType == QtMsgType.QtDebugMsg:
165 messageType = "Debug Message" 166 messageType = "Debug Message"
166 elif msgType == QtWarningMsg: 167 elif msgType == QtMsgType.QtInfoMsg:
168 messageType = "Info Message:"
169 elif msgType == QtMsgType.QtWarningMsg:
167 messageType = "Warning" 170 messageType = "Warning"
168 elif msgType == QtCriticalMsg: 171 elif msgType == QtMsgType.QtCriticalMsg:
169 messageType = "Critical" 172 messageType = "Critical"
170 elif msgType == QtFatalMsg: 173 elif msgType == QtMsgType.QtFatalMsg:
171 messageType = "Fatal Error" 174 messageType = "Fatal Error"
172 if isinstance(message, bytes): 175 if isinstance(message, bytes):
173 message = message.decode() 176 message = message.decode()
174 print("{0}: {1} in {2} at line {3} ({4})".format( 177 print("{0}: {1} in {2} at line {3} ({4})".format(
175 messageType, message, context.file, context.line, 178 messageType, message, context.file, context.line,

eric ide

mercurial