mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
fix get product name in publisher
This commit is contained in:
parent
2072f2fbe2
commit
9400cabe2b
1 changed files with 27 additions and 28 deletions
|
|
@ -12,10 +12,8 @@ from abc import ABCMeta, abstractmethod
|
|||
import six
|
||||
import arrow
|
||||
import pyblish.api
|
||||
import ayon_api
|
||||
|
||||
from ayon_core.client import (
|
||||
get_asset_by_name,
|
||||
get_subsets,
|
||||
)
|
||||
from ayon_core.lib.events import QueuedEventSystem
|
||||
|
|
@ -66,24 +64,6 @@ class MainThreadItem:
|
|||
self.callback(*self.args, **self.kwargs)
|
||||
|
||||
|
||||
class AssetDocsCache:
|
||||
"""Cache asset documents for creation part."""
|
||||
|
||||
def __init__(self, controller):
|
||||
self._controller = controller
|
||||
self._asset_docs_by_path = {}
|
||||
|
||||
def reset(self):
|
||||
self._asset_docs_by_path = {}
|
||||
|
||||
def get_asset_doc_by_folder_path(self, folder_path):
|
||||
if folder_path not in self._asset_docs_by_path:
|
||||
project_name = self._controller.project_name
|
||||
asset_doc = get_asset_by_name(project_name, folder_path)
|
||||
self._asset_docs_by_path[folder_path] = asset_doc
|
||||
return copy.deepcopy(self._asset_docs_by_path[folder_path])
|
||||
|
||||
|
||||
class PublishReportMaker:
|
||||
"""Report for single publishing process.
|
||||
|
||||
|
|
@ -1653,7 +1633,6 @@ class PublisherController(BasePublisherController):
|
|||
|
||||
# Cacher of avalon documents
|
||||
self._hierarchy_model = HierarchyModel(self)
|
||||
self._asset_docs_cache = AssetDocsCache(self)
|
||||
|
||||
@property
|
||||
def project_name(self):
|
||||
|
|
@ -1816,11 +1795,10 @@ class PublisherController(BasePublisherController):
|
|||
|
||||
self._create_context.reset_preparation()
|
||||
|
||||
# Reset avalon context
|
||||
# Reset current context
|
||||
self._create_context.reset_current_context()
|
||||
|
||||
self._hierarchy_model.reset()
|
||||
self._asset_docs_cache.reset()
|
||||
|
||||
self._reset_plugins()
|
||||
# Publish part must be reset after plugins
|
||||
|
|
@ -2052,16 +2030,37 @@ class PublisherController(BasePublisherController):
|
|||
"""
|
||||
|
||||
creator = self._creators[creator_identifier]
|
||||
project_name = self.project_name
|
||||
asset_doc = self._asset_docs_cache.get_asset_doc_by_folder_path(
|
||||
folder_path
|
||||
)
|
||||
|
||||
instance = None
|
||||
if instance_id:
|
||||
instance = self.instances[instance_id]
|
||||
|
||||
project_name = self.project_name
|
||||
folder_item = self._hierarchy_model.get_folder_item_by_path(
|
||||
project_name, folder_path
|
||||
)
|
||||
folder_entity = None
|
||||
task_item = None
|
||||
task_entity = None
|
||||
if folder_item is not None:
|
||||
folder_entity = self._hierarchy_model.get_folder_entity(
|
||||
project_name, folder_item.entity_id
|
||||
)
|
||||
task_item = self._hierarchy_model.get_task_item_by_name(
|
||||
project_name, folder_item.entity_id, task_name, "controller"
|
||||
)
|
||||
|
||||
if task_item is not None:
|
||||
task_entity = self._hierarchy_model.get_task_entity(
|
||||
project_name, task_item.task_id
|
||||
)
|
||||
|
||||
return creator.get_product_name(
|
||||
project_name, asset_doc, task_name, variant, instance=instance
|
||||
project_name,
|
||||
folder_entity,
|
||||
task_entity,
|
||||
variant,
|
||||
instance=instance
|
||||
)
|
||||
|
||||
def trigger_convertor_items(self, convertor_identifiers):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue