Merge pull request #1621 from ynput/enhancement/YN-0290_provide_source_version_description

Library: provide source version description
This commit is contained in:
Jakub Trllo 2025-12-19 16:21:18 +01:00 committed by GitHub
commit b6b2726795
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1045,10 +1045,23 @@ class ProjectPushItemProcess:
copied_tags = self._get_transferable_tags(src_version_entity)
copied_status = self._get_transferable_status(src_version_entity)
description_parts = []
dst_attr_description = dst_attrib.get("description")
if dst_attr_description:
description_parts.append(dst_attr_description)
description = self._create_src_version_description(
self._item.src_project_name,
src_version_entity
)
if description:
description_parts.append(description)
dst_attrib["description"] = "\n\n".join(description_parts)
version_entity = new_version_entity(
dst_version,
product_id,
author=src_version_entity["author"],
status=copied_status,
tags=copied_tags,
task_id=self._task_info.get("id"),
@ -1370,6 +1383,30 @@ class ProjectPushItemProcess:
return copied_status["name"]
return None
def _create_src_version_description(
self,
src_project_name: str,
src_version_entity: dict[str, Any]
) -> str:
"""Creates description text about source version."""
src_version_id = src_version_entity["id"]
src_author = src_version_entity["author"]
query = "&".join([
f"project={src_project_name}",
"type=version",
f"id={src_version_id}"
])
version_url = (
f"{ayon_api.get_base_url()}"
f"/projects/{src_project_name}/products?{query}"
)
description = (
f"Version copied from from {version_url} "
f"created by '{src_author}', "
)
return description
class IntegrateModel:
def __init__(self, controller):