use query functions in delete old versions action

This commit is contained in:
Jakub Trllo 2022-06-14 16:06:12 +02:00
parent 77d496d88b
commit 7945ca0011

View file

@ -5,7 +5,12 @@ import uuid
import clique
from pymongo import UpdateOne
from openpype.client import (
get_assets,
get_subsets,
get_versions,
get_representations
)
from openpype.api import Anatomy
from openpype.lib import StringTemplate, TemplateUnsolved
from openpype.pipeline import AvalonMongoDB
@ -198,10 +203,9 @@ class DeleteOldVersions(BaseAction):
self.log.debug("Project is set to {}".format(project_name))
# Get Assets from avalon database
assets = list(self.dbcon.find({
"type": "asset",
"name": {"$in": avalon_asset_names}
}))
assets = list(
get_assets(project_name, asset_names=avalon_asset_names)
)
asset_id_to_name_map = {
asset["_id"]: asset["name"] for asset in assets
}
@ -210,10 +214,9 @@ class DeleteOldVersions(BaseAction):
self.log.debug("Collected assets ({})".format(len(asset_ids)))
# Get Subsets
subsets = list(self.dbcon.find({
"type": "subset",
"parent": {"$in": asset_ids}
}))
subsets = list(
get_subsets(project_name, asset_ids=asset_ids)
)
subsets_by_id = {}
subset_ids = []
for subset in subsets:
@ -230,10 +233,9 @@ class DeleteOldVersions(BaseAction):
self.log.debug("Collected subsets ({})".format(len(subset_ids)))
# Get Versions
versions = list(self.dbcon.find({
"type": "version",
"parent": {"$in": subset_ids}
}))
versions = list(
get_versions(project_name, subset_ids=subset_ids)
)
versions_by_parent = collections.defaultdict(list)
for ent in versions:
@ -295,10 +297,9 @@ class DeleteOldVersions(BaseAction):
"message": msg
}
repres = list(self.dbcon.find({
"type": "representation",
"parent": {"$in": version_ids}
}))
repres = list(
get_representations(project_name, version_ids=version_ids)
)
self.log.debug(
"Collected representations to remove ({})".format(len(repres))