diff --git a/pype/ftrack/events/event_version_to_task_statuses.py b/pype/ftrack/events/event_version_to_task_statuses.py index e91664a6fe..471c3c9bc8 100644 --- a/pype/ftrack/events/event_version_to_task_statuses.py +++ b/pype/ftrack/events/event_version_to_task_statuses.py @@ -11,13 +11,18 @@ class VersionToTaskStatus(BaseEvent): # start of event procedure ---------------------------------- for entity in event['data'].get('entities', []): # Filter non-assetversions - if (entity['entityType'] == 'assetversion' and - 'statusid' in entity['keys']): + if ( + entity['entityType'] == 'assetversion' and + 'statusid' in entity['keys'] + ): version = session.get('AssetVersion', entity['entityId']) - version_status = session.get( - 'Status', entity['changes']['statusid']['new'] - ) + try: + version_status = session.get( + 'Status', entity['changes']['statusid']['new'] + ) + except Exception: + continue task_status = version_status task = version['task'] self.log.info('>>> version status: [ {} ]'.format( @@ -36,10 +41,18 @@ class VersionToTaskStatus(BaseEvent): if status_to_set is not None: query = 'Status where name is "{}"'.format(status_to_set) - task_status = session.query(query).one() + try: + task_status = session.query(query).one() + except Exception: + self.log.info( + 'During update {}: Status {} was not found'.format( + entity['name'], status_to_set + ) + ) + continue # Proceed if the task status was set - if task_status: + if task_status is not None: # Get path to task path = task['name'] for p in task['ancestors']: