return e.get('attribute_name') in ('image', 'filmstrip_image') __sgevents__ = dict( type='callback', callback=callback, callback_in_subprocess=False, filter=filter, ) if __name__ == '__main__': sg = Session() for seq in sg.find('Sequence', ()): print seq update_playlist(sg, seq['project'], seq['code'][:2]) for shot in sg.find('Shot', ()): version = sg.find_one('Version', [ ('entity', 'is', shot), ], order=[{'field_name':'created_at', 'direction':'desc'}]) print shot, version if version: sg.update('Shot', shot['id'], dict(sg_latest_version=version)) sg.share_thumbnail([shot], source_entity=version, filmstrip_thumbnail=False) sg.share_thumbnail([shot], source_entity=version, filmstrip_thumbnail=True)
def callback(event): sg = Session() print event['entity'] if event['project']['id'] != 74: return "checking project id is not 74 " + str(event['project']['id']) elif event['meta']['new_value'] != 'rev': return "checking new value is not rev" + str( event['meta']['new_value']) elif event['event_type'] != "Shotgun_Task_Change": return "checking: event['event_type']" + str(event['event_type']) else: seq_link = "" task_id = event['entity']['id'] task = sg.find_one('Task', [('id', 'is', task_id)], ['entity']) shot_id = task['entity']['id'] if 'sg_sequence' in task['entity']: seq_id = task['entity']['sg_sequence']['id'] print seq_id seq_type = task['entity']['sg_sequence']['type'] print seq_type seq_name = task['entity']['sg_sequence']['name'] print seq_name seq_link = '\n<https://markmedia.shotgunstudio.com/detail/Shot/' + str( shot_id ) + '|Shot Link> \n<https://markmedia.shotgunstudio.com/detail/Shot/' + str( shot_id) + '#' + str(seq_type) + '_' + str(seq_id) + '_' + str( seq_name) + '|Sequence Link>' print "checking else statement" print event['project']['id'], event['meta']['new_value'], event[ 'event_type'] print "\n" requests.get( 'https://slack.com/api/chat.postMessage', params={ 'channel': SLACK_CHANNEL, 'fallback': 'This is ready for review: ' + str(task['entity']['name']) + '>' + str(event['entity']['name']), 'params': None, 'attachments': json.dumps([{ 'fallback': 'This is ready for review: ' + str(task['entity']['name']) + ' > ' + str(event['entity']['name']), 'title': 'This is ready for review: ' + str(task['entity']['name']) + ' > ' + str(event['entity']['name']), 'text': '<https://markmedia.shotgunstudio.com/detail/Task/' + str(event['entity']['id']) + '/|' + str(task['entity']['name']) + ' ' + str(event['entity']['name']) + ">\nProject: " + str(event['project']['name']) + seq_link }]), 'token': SLACK_TOKEN, 'username': '******', 'as_user': True })