mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
Merge pull request #128 from pypeclub/feature/ftrack_parent_thumbnail_fix
feature/ftrack parent thumbnails
This commit is contained in:
commit
b708406ec3
1 changed files with 28 additions and 44 deletions
|
|
@ -2,57 +2,42 @@ from pype.ftrack import BaseEvent
|
||||||
|
|
||||||
|
|
||||||
class ThumbnailEvents(BaseEvent):
|
class ThumbnailEvents(BaseEvent):
|
||||||
|
|
||||||
def launch(self, session, event):
|
def launch(self, session, event):
|
||||||
'''just a testing event'''
|
"""Updates thumbnails of entities from new AssetVersion."""
|
||||||
|
|
||||||
# self.log.info(event)
|
for entity in event["data"].get("entities", []):
|
||||||
# start of event procedure ----------------------------------
|
if (
|
||||||
for entity in event['data'].get('entities', []):
|
entity["action"] == "remove"
|
||||||
|
or entity["entityType"].lower() != "assetversion"
|
||||||
|
or "thumbid" not in (entity.get("keys") or [])
|
||||||
|
):
|
||||||
|
continue
|
||||||
|
|
||||||
# update created task thumbnail with first parent thumbnail
|
# update created task thumbnail with first parent thumbnail
|
||||||
if entity['entityType'] == 'task' and entity['action'] == 'add':
|
version = session.get("AssetVersion", entity["entityId"])
|
||||||
|
if not version:
|
||||||
|
continue
|
||||||
|
|
||||||
task = session.get('TypedContext', entity['entityId'])
|
thumbnail = version.get("thumbnail")
|
||||||
parent = task['parent']
|
if not thumbnail:
|
||||||
|
continue
|
||||||
|
|
||||||
if parent.get('thumbnail') and not task.get('thumbnail'):
|
parent = version["asset"]["parent"]
|
||||||
task['thumbnail'] = parent['thumbnail']
|
task = version["task"]
|
||||||
self.log.info('>>> Updated thumbnail on [ %s/%s ]'.format(
|
parent["thumbnail_id"] = version["thumbnail_id"]
|
||||||
parent['name'], task['name']
|
if parent.entity_type.lower() == "project":
|
||||||
))
|
name = parent["full_name"]
|
||||||
|
else:
|
||||||
|
name = parent["name"]
|
||||||
|
|
||||||
# Update task thumbnail from published version
|
task_msg = ""
|
||||||
# if (entity['entityType'] == 'assetversion' and
|
if task:
|
||||||
# entity['action'] == 'encoded'):
|
task["thumbnail_id"] = version["thumbnail_id"]
|
||||||
elif (
|
task_msg = " and task [ {} ]".format(task["name"])
|
||||||
entity['entityType'] == 'assetversion' and
|
|
||||||
entity['action'] != 'remove' and
|
|
||||||
'thumbid' in (entity.get('keys') or [])
|
|
||||||
):
|
|
||||||
|
|
||||||
version = session.get('AssetVersion', entity['entityId'])
|
self.log.info(">>> Updating thumbnail for shot [ {} ]{}".format(
|
||||||
if not version:
|
name, task_msg
|
||||||
continue
|
))
|
||||||
|
|
||||||
thumbnail = version.get('thumbnail')
|
|
||||||
if not thumbnail:
|
|
||||||
continue
|
|
||||||
|
|
||||||
parent = version['asset']['parent']
|
|
||||||
task = version['task']
|
|
||||||
parent['thumbnail_id'] = version['thumbnail_id']
|
|
||||||
if parent.entity_type.lower() == "project":
|
|
||||||
name = parent["full_name"]
|
|
||||||
else:
|
|
||||||
name = parent["name"]
|
|
||||||
msg = '>>> Updating thumbnail for shot [ {} ]'.format(name)
|
|
||||||
|
|
||||||
if task:
|
|
||||||
task['thumbnail_id'] = version['thumbnail_id']
|
|
||||||
msg += " and task [ {} ]".format(task["name"])
|
|
||||||
|
|
||||||
self.log.info(msg)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
@ -61,5 +46,4 @@ class ThumbnailEvents(BaseEvent):
|
||||||
|
|
||||||
|
|
||||||
def register(session, plugins_presets):
|
def register(session, plugins_presets):
|
||||||
'''Register plugin. Called when used as an plugin.'''
|
|
||||||
ThumbnailEvents(session, plugins_presets).register()
|
ThumbnailEvents(session, plugins_presets).register()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue