mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
Merge pull request #4473 from ynput/feature/report_plugin_discovery_crashes
Publisher: Report also crashed creators and convertors
This commit is contained in:
commit
973aa11fc4
7 changed files with 79 additions and 44 deletions
|
|
@ -169,6 +169,8 @@ class PublishReport:
|
|||
|
||||
def __init__(self, controller):
|
||||
self.controller = controller
|
||||
self._create_discover_result = None
|
||||
self._convert_discover_result = None
|
||||
self._publish_discover_result = None
|
||||
self._plugin_data = []
|
||||
self._plugin_data_with_plugin = []
|
||||
|
|
@ -181,6 +183,10 @@ class PublishReport:
|
|||
def reset(self, context, create_context):
|
||||
"""Reset report and clear all data."""
|
||||
|
||||
self._create_discover_result = create_context.creator_discover_result
|
||||
self._convert_discover_result = (
|
||||
create_context.convertor_discover_result
|
||||
)
|
||||
self._publish_discover_result = create_context.publish_discover_result
|
||||
self._plugin_data = []
|
||||
self._plugin_data_with_plugin = []
|
||||
|
|
@ -293,9 +299,19 @@ class PublishReport:
|
|||
if plugin not in self._stored_plugins:
|
||||
plugins_data.append(self._create_plugin_data_item(plugin))
|
||||
|
||||
crashed_file_paths = {}
|
||||
reports = []
|
||||
if self._create_discover_result is not None:
|
||||
reports.append(self._create_discover_result)
|
||||
|
||||
if self._convert_discover_result is not None:
|
||||
reports.append(self._convert_discover_result)
|
||||
|
||||
if self._publish_discover_result is not None:
|
||||
items = self._publish_discover_result.crashed_file_paths.items()
|
||||
reports.append(self._publish_discover_result)
|
||||
|
||||
crashed_file_paths = {}
|
||||
for report in reports:
|
||||
items = report.crashed_file_paths.items()
|
||||
for filepath, exc_info in items:
|
||||
crashed_file_paths[filepath] = "".join(
|
||||
traceback.format_exception(*exc_info)
|
||||
|
|
|
|||
|
|
@ -457,13 +457,14 @@ class CreateWidget(QtWidgets.QWidget):
|
|||
# TODO add details about creator
|
||||
new_creators.add(identifier)
|
||||
if identifier in existing_items:
|
||||
is_new = False
|
||||
item = existing_items[identifier]
|
||||
else:
|
||||
is_new = True
|
||||
item = QtGui.QStandardItem()
|
||||
item.setFlags(
|
||||
QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
|
||||
)
|
||||
self._creators_model.appendRow(item)
|
||||
|
||||
item.setData(creator_item.label, QtCore.Qt.DisplayRole)
|
||||
item.setData(creator_item.show_order, CREATOR_SORT_ROLE)
|
||||
|
|
@ -473,6 +474,8 @@ class CreateWidget(QtWidgets.QWidget):
|
|||
CREATOR_THUMBNAIL_ENABLED_ROLE
|
||||
)
|
||||
item.setData(creator_item.family, FAMILY_ROLE)
|
||||
if is_new:
|
||||
self._creators_model.appendRow(item)
|
||||
|
||||
# Remove families that are no more available
|
||||
for identifier in (old_creators - new_creators):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue