mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
use query function to get version document
This commit is contained in:
parent
e7c937bdc0
commit
1a5258b2fe
1 changed files with 16 additions and 15 deletions
|
|
@ -13,6 +13,7 @@ import openpype.api
|
||||||
from openpype.client import (
|
from openpype.client import (
|
||||||
get_representations,
|
get_representations,
|
||||||
get_subset_by_name,
|
get_subset_by_name,
|
||||||
|
get_version_by_name,
|
||||||
)
|
)
|
||||||
from openpype.lib.profiles_filtering import filter_profiles
|
from openpype.lib.profiles_filtering import filter_profiles
|
||||||
from openpype.lib.file_transaction import FileTransaction
|
from openpype.lib.file_transaction import FileTransaction
|
||||||
|
|
@ -478,40 +479,40 @@ class IntegrateAsset(pyblish.api.InstancePlugin):
|
||||||
self.log.info("Prepared subset: {}".format(subset_name))
|
self.log.info("Prepared subset: {}".format(subset_name))
|
||||||
return subset_doc, bulk_writes
|
return subset_doc, bulk_writes
|
||||||
|
|
||||||
def prepare_version(self, instance, subset):
|
def prepare_version(self, instance, subset_doc, project_name):
|
||||||
|
|
||||||
version_number = instance.data["version"]
|
version_number = instance.data["version"]
|
||||||
|
|
||||||
version = {
|
version_doc = {
|
||||||
"schema": "openpype:version-3.0",
|
"schema": "openpype:version-3.0",
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"parent": subset["_id"],
|
"parent": subset_doc["_id"],
|
||||||
"name": version_number,
|
"name": version_number,
|
||||||
"data": self.create_version_data(instance)
|
"data": self.create_version_data(instance)
|
||||||
}
|
}
|
||||||
|
|
||||||
existing_version = legacy_io.find_one({
|
existing_version = get_version_by_name(
|
||||||
'type': 'version',
|
project_name,
|
||||||
'parent': subset["_id"],
|
version_number,
|
||||||
'name': version_number
|
subset_doc["_id"],
|
||||||
}, projection={"_id": True})
|
fields=["_id"]
|
||||||
|
)
|
||||||
|
|
||||||
if existing_version:
|
if existing_version:
|
||||||
self.log.debug("Updating existing version ...")
|
self.log.debug("Updating existing version ...")
|
||||||
version["_id"] = existing_version["_id"]
|
version_doc["_id"] = existing_version["_id"]
|
||||||
else:
|
else:
|
||||||
self.log.debug("Creating new version ...")
|
self.log.debug("Creating new version ...")
|
||||||
version["_id"] = ObjectId()
|
version_doc["_id"] = ObjectId()
|
||||||
|
|
||||||
bulk_writes = [ReplaceOne(
|
bulk_writes = [ReplaceOne(
|
||||||
filter={"_id": version["_id"]},
|
filter={"_id": version_doc["_id"]},
|
||||||
replacement=version,
|
replacement=version_doc,
|
||||||
upsert=True
|
upsert=True
|
||||||
)]
|
)]
|
||||||
|
|
||||||
self.log.info("Prepared version: v{0:03d}".format(version["name"]))
|
self.log.info("Prepared version: v{0:03d}".format(version_doc["name"]))
|
||||||
|
|
||||||
return version, bulk_writes
|
return version_doc, bulk_writes
|
||||||
|
|
||||||
def prepare_representation(self, repre,
|
def prepare_representation(self, repre,
|
||||||
template_name,
|
template_name,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue