Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Commit

Permalink
Merge pull request #3330 from pypeclub/feature/OP-3384_Use-query-func…
Browse files Browse the repository at this point in the history
…tions-in-Standalon-publisher

Standalone Publisher: Use client query functions
  • Loading branch information
iLLiCiTiT authored Jun 20, 2022
2 parents 96d1ca7 + 5922a85 commit 5652242
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import pyblish.api

from openpype.lib import get_subset_name_with_asset_doc
from openpype.pipeline import legacy_io
from openpype.client import get_asset_by_name


class CollectBulkMovInstances(pyblish.api.InstancePlugin):
Expand All @@ -24,12 +24,9 @@ class CollectBulkMovInstances(pyblish.api.InstancePlugin):

def process(self, instance):
context = instance.context
project_name = context.data["projectEntity"]["name"]
asset_name = instance.data["asset"]

asset_doc = legacy_io.find_one({
"type": "asset",
"name": asset_name
})
asset_doc = get_asset_by_name(project_name, asset_name)
if not asset_doc:
raise AssertionError((
"Couldn't find Asset document with name \"{}\""
Expand All @@ -52,7 +49,7 @@ def process(self, instance):
self.subset_name_variant,
task_name,
asset_doc,
legacy_io.Session["AVALON_PROJECT"]
project_name
)
instance_name = f"{asset_name}_{subset_name}"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from copy import deepcopy
import pyblish.api

from openpype.pipeline import legacy_io
from openpype.client import get_asset_by_id


class CollectHierarchyInstance(pyblish.api.ContextPlugin):
Expand Down Expand Up @@ -61,27 +61,32 @@ def rename_with_hierarchy(self, instance):
**instance.data["anatomyData"])

def create_hierarchy(self, instance):
parents = list()
hierarchy = list()
visual_hierarchy = [instance.context.data["assetEntity"]]
asset_doc = instance.context.data["assetEntity"]
project_doc = instance.context.data["projectEntity"]
project_name = project_doc["name"]
visual_hierarchy = [asset_doc]
current_doc = asset_doc
while True:
visual_parent = legacy_io.find_one(
{"_id": visual_hierarchy[-1]["data"]["visualParent"]}
)
if visual_parent:
visual_hierarchy.append(visual_parent)
else:
visual_hierarchy.append(
instance.context.data["projectEntity"])
visual_parent_id = current_doc["data"]["visualParent"]
visual_parent = None
if visual_parent_id:
visual_parent = get_asset_by_id(project_name, visual_parent_id)

if not visual_parent:
visual_hierarchy.append(project_doc)
break
visual_hierarchy.append(visual_parent)
current_doc = visual_parent

# add current selection context hierarchy from standalonepublisher
parents = list()
for entity in reversed(visual_hierarchy):
parents.append({
"entity_type": entity["data"]["entityType"],
"entity_name": entity["name"]
})

hierarchy = list()
if self.shot_add_hierarchy:
parent_template_patern = re.compile(r"\{([a-z]*?)\}")
# fill the parents parts from presets
Expand Down Expand Up @@ -129,9 +134,8 @@ def create_hierarchy(self, instance):
self.log.debug(f"Hierarchy: {hierarchy}")
self.log.debug(f"parents: {parents}")

tasks_to_add = dict()
if self.shot_add_tasks:
tasks_to_add = dict()
project_doc = legacy_io.find_one({"type": "project"})
project_tasks = project_doc["config"]["tasks"]
for task_name, task_data in self.shot_add_tasks.items():
_task_data = deepcopy(task_data)
Expand All @@ -150,9 +154,7 @@ def create_hierarchy(self, instance):
task_name,
list(project_tasks.keys())))

instance.data["tasks"] = tasks_to_add
else:
instance.data["tasks"] = dict()
instance.data["tasks"] = tasks_to_add

# updating hierarchy data
instance.data["anatomyData"].update({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import pyblish.api
from pprint import pformat

from openpype.pipeline import legacy_io
from openpype.client import get_assets


class CollectMatchingAssetToInstance(pyblish.api.InstancePlugin):
Expand Down Expand Up @@ -119,8 +119,9 @@ def _children_docs(self, documents_by_parent_id, parent_doc):

def _asset_docs_by_parent_id(self, instance):
# Query all assets for project and store them by parent's id to list
project_name = instance.context.data["projectEntity"]["name"]
asset_docs_by_parent_id = collections.defaultdict(list)
for asset_doc in legacy_io.find({"type": "asset"}):
for asset_doc in get_assets(project_name):
parent_id = asset_doc["data"]["visualParent"]
asset_docs_by_parent_id[parent_id].append(asset_doc)
return asset_docs_by_parent_id
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import pyblish.api

from openpype.pipeline import (
PublishXmlValidationError,
legacy_io,
)
from openpype.client import get_assets
from openpype.pipeline import PublishXmlValidationError


class ValidateTaskExistence(pyblish.api.ContextPlugin):
Expand All @@ -20,15 +18,11 @@ def process(self, context):
for instance in context:
asset_names.add(instance.data["asset"])

asset_docs = legacy_io.find(
{
"type": "asset",
"name": {"$in": list(asset_names)}
},
{
"name": 1,
"data.tasks": 1
}
project_name = context.data["projectEntity"]["name"]
asset_docs = get_assets(
project_name,
asset_names=asset_names,
fields=["name", "data.tasks"]
)
tasks_by_asset_names = {}
for asset_doc in asset_docs:
Expand Down

0 comments on commit 5652242

Please sign in to comment.