예제 #1
0
        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)

예제 #2
0
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
            })