get latest published file
py
entity = "PublishedFile"
filters = [
["sg_status_list", "is_not", "omt"],
["entity", "is", {"type": entity_type, "id": entity_id}],
["task", "is", {"type": "Task", "id": task_id}],
["published_file_type", "is", {
"type": "PublishedFileType",
"id": published_file_type_id
}]
]
fields = [
"version_number",
"sg_desc_field",
"upstream_published_files",
"code",
"path",
"entity"
]
order = [{"field_name": "version_number", "direction": "desc"}]
published_files = sg_api3_instance.finx(
entity,
filters=filters,
fields=fields,
order=order
)
published_file_dict = {}
for publish_file in published_files:
if publish_file["sg_desc_field"] not in published_file_dict:
published_file_dict[publish_file["sg_desc_field"]] = {
"version_number": publish_file.get("version_number", 0),
"id": publish_file.get("id"),
"path": publish_file.get("path", ""),
"upstream_published_files": publish_file.get("upstream_published_files", []),
}
Usage
py
previous_publish = published_file_dict.get("scene_description")
version_number = previous_publish.get("version_number") + 1 if previous_publish else 1