From 3e894ec7b014ee6de4d1cfa24ddef72b3ef50359 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 15 Jul 2019 12:45:40 +0200 Subject: [PATCH] sync to avalon action launches sync shierarcdhical attrs when finishes --- pype/ftrack/events/action_sync_to_avalon.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pype/ftrack/events/action_sync_to_avalon.py b/pype/ftrack/events/action_sync_to_avalon.py index f1a5b37f36..46a25caea5 100644 --- a/pype/ftrack/events/action_sync_to_avalon.py +++ b/pype/ftrack/events/action_sync_to_avalon.py @@ -5,6 +5,7 @@ import logging import json from pype.vendor import ftrack_api from pype.ftrack import BaseAction, lib +from pype.vendor.ftrack_api import session as fa_session class Sync_To_Avalon(BaseAction): @@ -70,7 +71,7 @@ class Sync_To_Avalon(BaseAction): ''' Validation ''' roleCheck = False discover = False - roleList = ['Administrator', 'Project Manager'] + roleList = ['Pypeclub', 'Administrator', 'Project Manager'] userId = event['source']['user']['id'] user = session.query('User where id is ' + userId).one() @@ -191,6 +192,24 @@ class Sync_To_Avalon(BaseAction): ' - Please check Log for more information' ) + finally: + if job['status'] in ['queued', 'running']: + job['status'] = 'failed' + + session.commit() + + event = fa_session.ftrack_api.event.base.Event( + topic='ftrack.action.launch', + data=dict( + actionIdentifier='sync.hierarchical.attrs', + selection=event['data']['selection'] + ), + source=dict( + user=event['source']['user'] + ) + ) + session.event_hub.publish(event, on_error='ignore') + if len(message) > 0: message = "Unable to sync: {}".format(message) return {