From 3e9c86799de6b6fa0f7dc3d7cfc79948b094fa62 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 8 Mar 2021 12:53:29 +0100 Subject: [PATCH] SyncServer - fix exceptions when no project configured --- pype/modules/sync_server/tray/app.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pype/modules/sync_server/tray/app.py b/pype/modules/sync_server/tray/app.py index 2adec8382b..3dc3e56e7f 100644 --- a/pype/modules/sync_server/tray/app.py +++ b/pype/modules/sync_server/tray/app.py @@ -29,6 +29,8 @@ STATUS = { -1: 'Not available' } +DUMMY_PROJECT = "No project configured" + class SyncServerWindow(QtWidgets.QDialog): """ @@ -157,6 +159,7 @@ class SyncProjectListWidget(ProjectListWidget): model = self.project_list.model() model.clear() + project_name = None for project_name in self.sync_server.get_synced_presets().keys(): if self.sync_server.is_paused() or \ self.sync_server.is_project_paused(project_name): @@ -167,7 +170,7 @@ class SyncProjectListWidget(ProjectListWidget): model.appendRow(QtGui.QStandardItem(icon, project_name)) if len(self.sync_server.get_synced_presets().keys()) == 0: - model.appendRow(QtGui.QStandardItem("No project configured")) + model.appendRow(QtGui.QStandardItem(DUMMY_PROJECT)) self.current_project = self.project_list.currentIndex().data( QtCore.Qt.DisplayRole @@ -176,7 +179,8 @@ class SyncProjectListWidget(ProjectListWidget): self.current_project = self.project_list.model().item(0). \ data(QtCore.Qt.DisplayRole) - self.local_site = self.sync_server.get_local_site(project_name) + if project_name: + self.local_site = self.sync_server.get_local_site(project_name) def _get_icon(self, status): if not self.icons.get(status): @@ -620,6 +624,8 @@ class SyncRepresentationModel(QtCore.QAbstractTableModel): self.filter = None self._initialized = False + if not self._project or self._project == DUMMY_PROJECT: + return self.sync_server = sync_server # TODO think about admin mode