mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 08:54:53 +01:00
move avalon mongo methods in code
This commit is contained in:
parent
68b1d0b16c
commit
44802371bc
1 changed files with 29 additions and 29 deletions
|
|
@ -216,6 +216,35 @@ class PublisherController:
|
|||
ref = weakref.WeakMethod(callback)
|
||||
self._publishing_stopped_callback_refs.add(ref)
|
||||
|
||||
def get_asset_docs(self):
|
||||
return self._asset_docs_cache.get_asset_docs()
|
||||
|
||||
def get_asset_hierarchy(self):
|
||||
_queue = collections.deque(self.get_asset_docs())
|
||||
|
||||
output = collections.defaultdict(list)
|
||||
while _queue:
|
||||
asset_doc = _queue.popleft()
|
||||
parent_id = asset_doc["data"]["visualParent"]
|
||||
output[parent_id].append(asset_doc)
|
||||
return output
|
||||
|
||||
def get_task_names_for_asset_names(self, asset_names):
|
||||
task_names_by_asset_name = (
|
||||
self._asset_docs_cache.get_task_names_by_asset_name()
|
||||
)
|
||||
tasks = None
|
||||
for asset_name in asset_names:
|
||||
task_names = set(task_names_by_asset_name.get(asset_name, []))
|
||||
if tasks is None:
|
||||
tasks = task_names
|
||||
else:
|
||||
tasks &= task_names
|
||||
|
||||
if not tasks:
|
||||
break
|
||||
return tasks
|
||||
|
||||
def _trigger_callbacks(self, callbacks, *args, **kwargs):
|
||||
# Trigger reset callbacks
|
||||
to_remove = set()
|
||||
|
|
@ -479,35 +508,6 @@ class PublisherController:
|
|||
|
||||
self._publish_next_process()
|
||||
|
||||
def get_asset_docs(self):
|
||||
return self._asset_docs_cache.get_asset_docs()
|
||||
|
||||
def get_asset_hierarchy(self):
|
||||
_queue = collections.deque(self.get_asset_docs())
|
||||
|
||||
output = collections.defaultdict(list)
|
||||
while _queue:
|
||||
asset_doc = _queue.popleft()
|
||||
parent_id = asset_doc["data"]["visualParent"]
|
||||
output[parent_id].append(asset_doc)
|
||||
return output
|
||||
|
||||
def get_task_names_for_asset_names(self, asset_names):
|
||||
task_names_by_asset_name = (
|
||||
self._asset_docs_cache.get_task_names_by_asset_name()
|
||||
)
|
||||
tasks = None
|
||||
for asset_name in asset_names:
|
||||
task_names = set(task_names_by_asset_name.get(asset_name, []))
|
||||
if tasks is None:
|
||||
tasks = task_names
|
||||
else:
|
||||
tasks &= task_names
|
||||
|
||||
if not tasks:
|
||||
break
|
||||
return tasks
|
||||
|
||||
|
||||
def collect_families_from_instances(instances, only_active=False):
|
||||
all_families = set()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue