Merge pull request #657 from ynput/bugfix/workfiles-tasks-selection

Workfiles tool: Folder change update tasks correctly
This commit is contained in:
Jakub Trllo 2024-06-18 13:26:53 +02:00 committed by GitHub
commit 32da74c6f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 4 deletions

View file

@ -1,3 +1,4 @@
import time
import collections
import contextlib
from abc import ABCMeta, abstractmethod
@ -535,13 +536,15 @@ class HierarchyModel(object):
def _refresh_tasks_cache(self, project_name, folder_id, sender=None):
if folder_id in self._tasks_refreshing:
while folder_id in self._tasks_refreshing:
time.sleep(0.01)
return
cache = self._task_items[project_name][folder_id]
with self._task_refresh_event_manager(
project_name, folder_id, sender
):
task_items = self._query_tasks(project_name, folder_id)
self._task_items[project_name][folder_id] = task_items
cache.update_data(self._query_tasks(project_name, folder_id))
def _query_tasks(self, project_name, folder_id):
tasks = list(ayon_api.get_tasks(

View file

@ -191,12 +191,12 @@ class TasksQtModel(QtGui.QStandardItemModel):
def _thread_getter(self, project_name, folder_id):
task_items = self._controller.get_task_items(
project_name, folder_id
project_name, folder_id, sender=TASKS_MODEL_SENDER_NAME
)
task_type_items = {}
if hasattr(self._controller, "get_task_type_items"):
task_type_items = self._controller.get_task_type_items(
project_name
project_name, sender=TASKS_MODEL_SENDER_NAME
)
return task_items, task_type_items
@ -580,6 +580,7 @@ class TasksWidget(QtWidgets.QWidget):
return
if expected_data is None:
expected_data = self._controller.get_expected_selection_data()
folder_data = expected_data.get("folder")
task_data = expected_data.get("task")
if (