mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
moved CollectProjectAssets to CollectMatchingAssetToInstance as is not used anywhere else yet
This commit is contained in:
parent
2de402ad67
commit
c2696e4d4f
2 changed files with 27 additions and 28 deletions
|
|
@ -1,5 +1,6 @@
|
|||
import os
|
||||
import pyblish.api
|
||||
from avalon import io
|
||||
from pprint import pformat
|
||||
|
||||
|
||||
|
|
@ -15,12 +16,31 @@ class CollectMatchingAssetToInstance(pyblish.api.InstancePlugin):
|
|||
family = ["image"]
|
||||
|
||||
def process(self, instance):
|
||||
project_assets = instance.context.data["projectAssets"]
|
||||
source_file = os.path.basename(instance.data["source"])
|
||||
asset = next((project_assets[name] for name in project_assets
|
||||
if name in source_file), None)
|
||||
self.log.info("Looking for asset document for file \"{}\"".format(
|
||||
instance.data["source"]
|
||||
))
|
||||
project_assets = {
|
||||
asset_doc["name"]: asset_doc
|
||||
for asset_doc in io.find({"type": "asset"})
|
||||
}
|
||||
|
||||
if asset:
|
||||
instance.data["asset"] = asset["name"]
|
||||
instance.data["assetEntity"] = asset
|
||||
self.log.info(f"Matching asset assigned: {pformat(asset)}")
|
||||
matching_asset_doc = project_assets.get(source_file)
|
||||
if matching_asset_doc is None:
|
||||
for asset_doc in project_assets.values():
|
||||
if asset_doc["name"] in source_file:
|
||||
matching_asset_doc = asset_doc
|
||||
break
|
||||
|
||||
if not matching_asset_doc:
|
||||
# TODO better error message
|
||||
raise AssertionError((
|
||||
"Filename does not contain any name of"
|
||||
" asset documents in database."
|
||||
))
|
||||
|
||||
instance.data["asset"] = matching_asset_doc["name"]
|
||||
instance.data["assetEntity"] = matching_asset_doc
|
||||
self.log.info(
|
||||
f"Matching asset found: {pformat(matching_asset_doc)}"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
import pyblish.api
|
||||
from avalon import io
|
||||
from pprint import pformat
|
||||
|
||||
|
||||
class CollectProjectAssets(pyblish.api.ContextPlugin):
|
||||
"""
|
||||
Collect all available project assets to context data.
|
||||
"""
|
||||
|
||||
label = "Collect Project Assets"
|
||||
order = pyblish.api.CollectorOrder - 0.1
|
||||
hosts = ["standalonepublisher"]
|
||||
|
||||
def process(self, context):
|
||||
project_assets = {
|
||||
asset_doc["name"]: asset_doc
|
||||
for asset_doc in io.find({"type": "asset"})
|
||||
}
|
||||
context.data["projectAssets"] = project_assets
|
||||
self.log.debug(f"_ project_assets: {pformat(project_assets)}")
|
||||
Loading…
Add table
Add a link
Reference in a new issue