diff --git a/openpype/tools/loader/widgets.py b/openpype/tools/loader/widgets.py
index 3accaed5ab..ed130f765c 100644
--- a/openpype/tools/loader/widgets.py
+++ b/openpype/tools/loader/widgets.py
@@ -72,6 +72,31 @@ class LoadErrorMessageBox(ErrorMessageBox):
self._messages = messages
super(LoadErrorMessageBox, self).__init__("Loading failed", parent)
+ def _create_top_widget(self, parent_widget):
+ label_widget = QtWidgets.QLabel(parent_widget)
+ label_widget.setText(
+ "Failed to load items"
+ )
+ return label_widget
+
+ def _get_report_data(self):
+ report_data = []
+ for exc_msg, tb_text, repre, subset, version in self._messages:
+ report_message = (
+ "During load error happened on Subset: \"{subset}\""
+ " Representation: \"{repre}\" Version: {version}"
+ "\n\nError message: {message}"
+ ).format(
+ subset=subset,
+ repre=repre,
+ version=version,
+ message=exc_msg
+ )
+ if tb_text:
+ report_message += "\n\n{}".format(tb_text)
+ report_data.append(report_message)
+ return report_data
+
def _create_content(self, content_layout):
item_name_template = (
"Subset: {}
"
@@ -102,31 +127,6 @@ class LoadErrorMessageBox(ErrorMessageBox):
content_layout.addWidget(line)
content_layout.addWidget(tb_widget)
- def _get_report_data(self):
- report_data = []
- for exc_msg, tb_text, repre, subset, version in self._messages:
- report_message = (
- "During load error happened on Subset: \"{subset}\""
- " Representation: \"{repre}\" Version: {version}"
- "\n\nError message: {message}"
- ).format(
- subset=subset,
- repre=repre,
- version=version,
- message=exc_msg
- )
- if tb_text:
- report_message += "\n\n{}".format(tb_text)
- report_data.append(report_message)
- return report_data
-
- def _create_top_widget(self, parent_widget):
- label_widget = QtWidgets.QLabel(parent_widget)
- label_widget.setText(
- "Failed to load items"
- )
- return label_widget
-
class SubsetWidget(QtWidgets.QWidget):
"""A widget that lists the published subsets for an asset"""
diff --git a/openpype/tools/utils/error_dialog.py b/openpype/tools/utils/error_dialog.py
index 2f39ccf139..0336f4bb08 100644
--- a/openpype/tools/utils/error_dialog.py
+++ b/openpype/tools/utils/error_dialog.py
@@ -3,20 +3,23 @@ from Qt import QtWidgets, QtCore
from .widgets import ClickableFrame, ExpandBtn
+def convert_text_for_html(text):
+ return (
+ text
+ .replace("<", "<")
+ .replace(">", ">")
+ .replace("\n", "
")
+ .replace(" ", " ")
+ )
+
+
class TracebackWidget(QtWidgets.QWidget):
def __init__(self, tb_text, parent):
super(TracebackWidget, self).__init__(parent)
# Modify text to match html
# - add more replacements when needed
- tb_text = (
- tb_text
- .replace("<", "<")
- .replace(">", ">")
- .replace("\n", "
")
- .replace(" ", " ")
- )
-
+ tb_text = convert_text_for_html(tb_text)
expand_btn = ExpandBtn(self)
clickable_frame = ClickableFrame(self)
@@ -103,6 +106,10 @@ class ErrorMessageBox(QtWidgets.QDialog):
self._report_data = report_data
self._content_widget = content_widget
+ @staticmethod
+ def convert_text_for_html(text):
+ return convert_text_for_html(text)
+
def _create_top_widget(self, parent_widget):
label_widget = QtWidgets.QLabel(parent_widget)
label_widget.setText(