diff --git a/pype/ftrack/actions/action_syncToAvalon.py b/pype/ftrack/actions/action_syncToAvalon.py index 3808f5c8ff..f8c6275ada 100644 --- a/pype/ftrack/actions/action_syncToAvalon.py +++ b/pype/ftrack/actions/action_syncToAvalon.py @@ -5,6 +5,7 @@ import argparse import logging import os import ftrack_api +import json from ftrack_action_handler import BaseAction from avalon import io, inventory, lib @@ -160,7 +161,9 @@ class SyncToAvalon(BaseAction): job = session.create('Job', { 'user': user, 'status': 'running', - 'data': {'description': 'Synch Ftrack to Avalon.'} + 'data': json.dumps({ + 'description': 'Synch Ftrack to Avalon.' + }) }) try: diff --git a/pype/ftrack/actions/action_thumbToChildern.py b/pype/ftrack/actions/action_thumbToChildern.py index 54974c22d6..52d31ee4e5 100644 --- a/pype/ftrack/actions/action_thumbToChildern.py +++ b/pype/ftrack/actions/action_thumbToChildern.py @@ -24,7 +24,7 @@ class ThumbToChildren(BaseAction): def discover(self, session, entities, event): ''' Validation ''' - if (len(entities) <= 0 or entities[0].entity_type in ['Project']): + if (len(entities) != 1 or entities[0].entity_type in ['Project']): return False return True @@ -53,11 +53,12 @@ class ThumbToChildren(BaseAction): # inform the user that the job is done job['status'] = 'done' - session.commit() except: # fail the job if something goes wrong job['status'] = 'failed' raise + finally: + session.commit() return { 'success': True, diff --git a/pype/ftrack/actions/action_thumbToParent.py b/pype/ftrack/actions/action_thumbToParent.py index 82954ae0e5..ca9cd09aee 100644 --- a/pype/ftrack/actions/action_thumbToParent.py +++ b/pype/ftrack/actions/action_thumbToParent.py @@ -45,30 +45,38 @@ class ThumbToParent(BaseAction): try: for entity in entities: + parent = None + thumbid = None if entity.entity_type.lower() == 'assetversion': try: parent = entity['task'] except: par_ent = entity['link'][-2] parent = session.get(par_ent['type'], par_ent['id']) - - elif entity.entity_type.lower() == 'task': - parent = entity['parent'] - + else: + try: + parent = entity['parent'] + except: + print("Durin Action 'Thumb to Parent' went something wrong") thumbid = entity['thumbnail_id'] if parent and thumbid: parent['thumbnail_id'] = thumbid + status = 'done' + else: + status = 'failed' # inform the user that the job is done - job['status'] = 'done' - session.commit() + job['status'] = status or 'done' except: # fail the job if something goes wrong job['status'] = 'failed' raise + finally: + session.commit() + return { 'success': True, 'message': 'Created job for updating thumbnails!'