From df75e05e7d4dd835dbca2072d756f02afe4c7328 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 20:59:41 +0200 Subject: [PATCH] added conversion of asset item to doc data --- .../project_manager/project_manager/model.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/openpype/tools/project_manager/project_manager/model.py b/openpype/tools/project_manager/project_manager/model.py index b346dbba07..5ed09bc677 100644 --- a/openpype/tools/project_manager/project_manager/model.py +++ b/openpype/tools/project_manager/project_manager/model.py @@ -1029,6 +1029,35 @@ class AssetItem(BaseItem): @property def name(self): return self._data["name"] + + def to_doc(self): + tasks = {} + for item in self.children(): + if isinstance(item, TaskItem): + tasks.update(item.to_doc_data()) + + doc_data = { + "parents": self.parent().asset_parents(), + "visualParent": self.parent().asset_id, + "tasks": tasks + } + schema_name = ( + self._origin_asset_doc.get("schema") or "openpype:asset-3.0" + ) + + doc = { + "name": self._data["name"], + "type": self._data["type"], + "schema": schema_name, + "data": doc_data, + "parent": self.project_id + } + for key, value in self._data.items(): + if key in doc: + continue + doc_data[key] = value + + return doc @classmethod def data_from_doc(cls, asset_doc): data = {