renamed 'get_version' to 'get_version_by_id'

This commit is contained in:
Jakub Trllo 2022-06-07 17:18:21 +02:00
parent 9456dac8b9
commit 0d5cc529d5
5 changed files with 108 additions and 27 deletions

View file

@ -12,8 +12,8 @@ from .entities import (
get_subsets,
get_subset_families,
get_version_by_id,
get_version_by_name,
get_version,
get_versions,
get_last_versions,
get_last_version_for_subset,
@ -45,8 +45,8 @@ __all__ = (
"get_subsets",
"get_subset_families",
"get_version_by_id",
"get_version_by_name",
"get_version",
"get_versions",
"get_last_versions",
"get_last_version_for_subset",

View file

@ -224,7 +224,7 @@ def get_asset_ids_with_subsets(project_name, asset_ids=None):
def get_subset_by_id(project_name, subset_id, fields=None):
"""Single subset document by it's id.
"""Single subset entity data by it's id.
Args:
project_name (str): Name of project where to look for queried entities.
@ -247,7 +247,7 @@ def get_subset_by_id(project_name, subset_id, fields=None):
def get_subset_by_name(project_name, subset_name, asset_id, fields=None):
"""Single subset document by subset name and it's version id.
"""Single subset entity data by it's name and it's version id.
Args:
project_name (str): Name of project where to look for queried entities.
@ -279,12 +279,31 @@ def get_subset_by_name(project_name, subset_name, asset_id, fields=None):
def get_subsets(
project_name,
asset_ids=None,
subset_ids=None,
subset_names=None,
asset_ids=None,
archived=False,
fields=None
):
"""Subset entities data from one project filtered by entered filters.
Filters are additive (all conditions must pass to return subset).
Args:
project_name (str): Name of project where to look for queried entities.
subset_ids (list[str, ObjectId]): Subset ids that should be queried.
Filter ignored if 'None' is passed.
subset_names (list[str]): Subset names that should be queried.
Filter ignored if 'None' is passed.
asset_ids (list[str, ObjectId]): Asset ids under which should look for
the subsets. Filter ignored if 'None' is passed.
fields (list[str]): Fields that should be returned. All fields are
returned if 'None' is passed.
Returns:
Cursor: Iterable cursor yielding all matching subsets.
"""
subset_types = ["subset"]
if archived:
subset_types.append("archived_subset")
@ -316,6 +335,17 @@ def get_subsets(
def get_subset_families(project_name, subset_ids=None):
"""Set of main families of subsets.
Args:
project_name (str): Name of project where to look for queried entities.
subset_ids (list[str, ObjectId]): Subset ids that should be queried.
All subsets from project are used if 'None' is passed.
Returns:
set[str]: Main families of matching subsets.
"""
subset_filter = {
"type": "subset"
}
@ -340,23 +370,56 @@ def get_subset_families(project_name, subset_ids=None):
return set()
def get_version_by_name(project_name, subset_id, version, fields=None):
conn = _get_project_connection(project_name)
def get_version_by_id(project_name, version_id, fields=None):
"""Single version entity data by it's id.
Args:
project_name (str): Name of project where to look for queried entities.
version_id (ObjectId): Id of version which should be found.
fields (list[str]): Fields that should be returned. All fields are
returned if 'None' is passed.
Returns:
None: If version with specified filters was not found.
Dict: Version document which can be reduced to specified 'fields'.
"""
version_id = _convert_id(version_id)
if not version_id:
return None
query_filter = {
"type": "version",
"parent": _convert_id(subset_id),
"name": version
"type": {"$in": ["version", "hero_version"]},
"_id": version_id
}
conn = _get_project_connection(project_name)
return conn.find_one(query_filter, _prepare_fields(fields))
def get_version(project_name, version_id, fields=None):
if not version_id:
def get_version_by_name(project_name, version, subset_id, fields=None):
"""Single version entity data by it's name and subset id.
Args:
project_name (str): Name of project where to look for queried entities.
version (int): name of version entity (it's version).
subset_id (ObjectId): Id of version which should be found.
fields (list[str]): Fields that should be returned. All fields are
returned if 'None' is passed.
Returns:
None: If version with specified filters was not found.
Dict: Version document which can be reduced to specified 'fields'.
"""
subset_id = _convert_id(subset_id)
if not subset_id:
return None
conn = _get_project_connection(project_name)
query_filter = {
"type": {"$in": ["version", "hero_version"]},
"_id": _convert_id(version_id)
"type": "version",
"parent": subset_id,
"name": version
}
return conn.find_one(query_filter, _prepare_fields(fields))
@ -402,11 +465,29 @@ def _get_versions(
def get_versions(
project_name,
subset_ids=None,
version_ids=None,
subset_ids=None,
hero=False,
fields=None
):
"""Version entities data from one project filtered by entered filters.
Filters are additive (all conditions must pass to return subset).
Args:
project_name (str): Name of project where to look for queried entities.
version_ids (list[str, ObjectId]): Version ids that will be queried.
Filter ignored if 'None' is passed.
subset_ids (list[str]): Subset ids that will be queried.
Filter ignored if 'None' is passed.
hero (bool): Look also for hero versions.
fields (list[str]): Fields that should be returned. All fields are
returned if 'None' is passed.
Returns:
Cursor: Iterable cursor yielding all matching versions.
"""
return _get_versions(
project_name,
subset_ids,

View file

@ -11,7 +11,7 @@ from openpype.client import (
get_subset_families,
get_subset_by_id,
get_subsets,
get_version,
get_version_by_id,
get_versions,
get_representations,
get_thumbnail_id_from_source,
@ -676,12 +676,12 @@ class VersionTextEdit(QtWidgets.QTextEdit):
project_name = self.dbcon.active_project()
if not version_doc:
version_doc = get_version(project_name, version_id=version_id)
version_doc = get_version_by_id(project_name, version_id)
assert version_doc, "Not a valid version id"
if version_doc["type"] == "hero_version":
_version_doc = get_version(
project_name, version_id=version_doc["version_id"]
_version_doc = get_version_by_id(
project_name, version_doc["version_id"]
)
version_doc["data"] = _version_doc["data"]
version_doc["name"] = HeroVersionType(

View file

@ -9,7 +9,7 @@ import qtawesome
from openpype.client import (
get_asset_by_id,
get_subset_by_id,
get_version,
get_version_by_id,
get_last_version_for_subset,
get_representation,
)
@ -321,8 +321,8 @@ class InventoryModel(TreeModel):
not_found_ids.append(repre_id)
continue
version = get_version(
project_name, version_id=representation["parent"]
version = get_version_by_id(
project_name, representation["parent"]
)
if not version:
not_found["version"].append(group_items)
@ -330,8 +330,8 @@ class InventoryModel(TreeModel):
continue
elif version["type"] == "hero_version":
_version = get_version(
project_name, version_id=version["version_id"]
_version = get_version_by_id(
project_name, version["version_id"]
)
version["name"] = HeroVersionType(_version["name"])
version["data"] = _version["data"]

View file

@ -7,7 +7,7 @@ import qtawesome
from bson.objectid import ObjectId
from openpype.client import (
get_version,
get_version_by_id,
get_versions,
get_hero_versions,
get_representation,
@ -663,9 +663,9 @@ class SceneInventoryView(QtWidgets.QTreeView):
fields=["parent"]
)
repre_version_doc = get_version(
repre_version_doc = get_version_by_id(
project_name,
version_id=repre_doc["parent"],
repre_doc["parent"],
fields=["parent"]
)