コード例 #1
0
def main(args, login=None):
    # USAGE: checkin_plates.py   
    code = args[0]
    file_range = args[1]
    pattern = args[2]
    # hard-coded for now
    context = 'publish'
    server = TacticServerStub(login)

    # do the actual work
    server.start("Checked in file group [%s]" % pattern)
    try:
        

        # checkin the uploaded file  
        filters = []
        filters.append(('code', code))
        results = server.query(SEARCH_TYPE, filters)
        # take the first one
        if results:
            id = results[0].get('id')
        else:
            print "Plate with code [%s] not found. Please insert an entry in the Plates tab first." %code
            return
        search_key = server.build_search_key(SEARCH_TYPE, id, column='id')


        # move the file
        dir = server.get_handoff_dir()
        print "Copied files to handoff dir\n"
        new_pattern = pattern
        file_type = 'main'
        
        # run group checkin
        server.group_checkin(search_key, context, file_path=new_pattern, file_type=file_type, \
                file_range=file_range, mode='copy', info={'type':'2d_plates'})
        
    except:
        server.abort()
        raise
    else:
        server.finish()
コード例 #2
0
ファイル: checkin_plates.py プロジェクト: PaulDoessel/tactic
def main(args, login=None):
    # USAGE: checkin_plates.py   
    code = args[0]
    file_range = args[1]
    pattern = args[2]
    # hard-coded for now
    context = 'publish'
    server = TacticServerStub(login)

    # do the actual work
    server.start("Checked in file group [%s]" % pattern)
    try:
        

        # checkin the uploaded file  
        filters = []
        filters.append(('code', code))
        results = server.query(SEARCH_TYPE, filters)
        # take the first one
        if results:
            id = results[0].get('id')
        else:
            print "Plate with code [%s] not found. Please insert an entry in the Plates tab first." %code
            return
        search_key = server.build_search_key(SEARCH_TYPE, id, column='id')


        # move the file
        dir = server.get_handoff_dir()
        print "Copied files to handoff dir\n"
        new_pattern = pattern
        file_type = 'main'
        
        # run group checkin
        server.group_checkin(search_key, context, file_path=new_pattern, file_type=file_type, \
                file_range=file_range, mode='copy', info={'type':'2d_plates'})
        
    except:
        server.abort()
        raise
    else:
        server.finish()
コード例 #3
0
ファイル: checkin_render.py プロジェクト: 0-T-0/TACTIC
def main(args, login=None):
    # USAGE: checkin_render.py   
    type = args[0]
    if type == "shot":
        parent_search_type = "prod/shot"
    elif type == "asset":
        parent_search_type = "prod/asset"
    

    else:
        parent_search_type = type

    code = args[1]
    file_range = args[2]
    pattern = args[3]
    layer_name = ''
    context = 'publish'

    if type == "layer":
        parent_search_type = "prod/layer"
        code, layer_name = args[1].split('|')
        
    server = TacticServerStub(login)

    # do the actual work
    server.start("Checked in file group [%s] to %s [%s]" % (pattern,type,code))

    try:
        # checkin the uploaded file  
        filters = []
        if type=='layer':
            filters.append(('shot_code', code))
            filters.append(('name', layer_name))
        else:
            filters.append(('code', code))
        results = server.query(parent_search_type, filters)
       
        # take the first one
        if results:
            id = results[0].get('id')
        else:
            if type =='layer':
                print "%s Code [%s] name [%s] not found. Please insert an entry in TACTIC first." %(type, code, layer_name)
            else:
                print "%s Code [%s] not found. Please insert an entry in TACTIC first." %(type, code)
        search_type = server.build_search_type(parent_search_type)
        file_type = 'main'
        render_type = '' # not used yet
        # move the file
        dir = server.get_handoff_dir()
        paths = expand_paths(pattern, file_range)
        copy_file(paths, dir)

        file_name = os.path.basename(pattern)
        new_pattern =  '%s/%s' %(dir, file_name)
        print "Copied files to handoff dir\n"
        render = find_render(server, search_type, id, login, render_type)
        if not render:
            render_data = {
                'search_type': search_type,
                'search_id': id,
                'login': login
                #'type': render_type
            }
            render = server.insert("prod/render", render_data)
        
        # run group checkin
        server.group_checkin(render.get("__search_key__"), context=context, file_path=new_pattern, file_type=file_type, file_range=file_range)
        
    except:
        server.abort()
        raise
    else:
        server.finish()
コード例 #4
0
def main(args, login=None):
    # USAGE: checkin_render.py
    type = args[0]
    if type == "shot":
        parent_search_type = "prod/shot"
    elif type == "asset":
        parent_search_type = "prod/asset"

    else:
        parent_search_type = type

    code = args[1]
    file_range = args[2]
    pattern = args[3]
    layer_name = ''
    context = 'publish'

    if type == "layer":
        parent_search_type = "prod/layer"
        code, layer_name = args[1].split('|')

    server = TacticServerStub(login)

    # do the actual work
    server.start("Checked in file group [%s] to %s [%s]" %
                 (pattern, type, code))

    try:
        # checkin the uploaded file
        filters = []
        if type == 'layer':
            filters.append(('shot_code', code))
            filters.append(('name', layer_name))
        else:
            filters.append(('code', code))
        results = server.query(parent_search_type, filters)

        # take the first one
        if results:
            id = results[0].get('id')
        else:
            if type == 'layer':
                print "%s Code [%s] name [%s] not found. Please insert an entry in TACTIC first." % (
                    type, code, layer_name)
            else:
                print "%s Code [%s] not found. Please insert an entry in TACTIC first." % (
                    type, code)
        search_type = server.build_search_type(parent_search_type)
        file_type = 'main'
        render_type = ''  # not used yet
        # move the file
        dir = server.get_handoff_dir()
        paths = expand_paths(pattern, file_range)
        copy_file(paths, dir)

        file_name = os.path.basename(pattern)
        new_pattern = '%s/%s' % (dir, file_name)
        print "Copied files to handoff dir\n"
        render = find_render(server, search_type, id, login, render_type)
        if not render:
            render_data = {
                'search_type': search_type,
                'search_id': id,
                'login': login
                #'type': render_type
            }
            render = server.insert("prod/render", render_data)

        # run group checkin
        server.group_checkin(render.get("__search_key__"),
                             context=context,
                             file_path=new_pattern,
                             file_type=file_type,
                             file_range=file_range)

    except:
        server.abort()
        raise
    else:
        server.finish()
コード例 #5
0
def main(args, login=None):
    # USAGE: checkin_render_layer.py
    shot_code = args[0]
    layer_name = args[1]
    version = args[2]
    context = args[3]
    file_range = args[4]
    pattern = args[5]

    server = TacticServerStub(login)

    # do the actual work
    server.start("Checked in file group [%s] to shot [%s] layer [%s]" % (pattern, shot_code, layer_name))
    try:
        # move the file
        dir = server.get_handoff_dir()
        paths = expand_paths(pattern, file_range)
        move_file(paths, dir)

        file_name = os.path.basename(pattern)
        new_pattern = "%s/%s" % (dir, file_name)
        print "Files moved to handoff dir.\n"

        # checkin the moved files
        filters = []
        filters.append(("shot_code", shot_code))
        filters.append(("name", layer_name))
        results = server.query("prod/layer", filters)

        # take the first one
        if results:
            id = results[0].get("id")

        search_type = server.build_search_type("prod/layer")
        # find the layer snapshot
        filters = []
        filters.append(("version", version))
        filters.append(("search_type", search_type))
        filters.append(("search_id", id))
        # TODO : may need a context to search for the proper layer
        results = server.query("sthpw/snapshot", filters)
        snap_code = ""
        if results:
            snap_code = results[0].get("code")

        # find the render
        render = None
        filters = []
        filters.append(("search_type", search_type))
        filters.append(("search_id", id))
        filters.append(("snapshot_code", snap_code))
        results = server.query(SEARCH_TYPE, filters)
        if results:
            render = results[0]

        if not render:
            render_data = {"search_type": search_type, "search_id": id, "snapshot_code": snap_code}

            render = server.insert("prod/render", render_data)
        """
        results = server.query(SEARCH_TYPE, filters)
        render_id = 0
        if results:
            render_id = results[0].get('id')
        # find the render id    
        search_key = server.build_search_key(SEARCH_TYPE, render_id, column='id')
        """
        file_type = "main"

        # run group checkin
        server.group_checkin(
            render.get("__search_key__"),
            context=context,
            file_path=new_pattern,
            file_type=file_type,
            file_range=file_range,
        )

    except:
        server.abort()
        raise
    else:
        server.finish()
コード例 #6
0
def main(args, login=None):
    # USAGE: checkin_render_layer.py
    shot_code = args[0]
    layer_name = args[1]
    version = args[2]
    context = args[3]
    file_range = args[4]
    pattern = args[5]

    server = TacticServerStub(login)

    # do the actual work
    server.start("Checked in file group [%s] to shot [%s] layer [%s]" %
                 (pattern, shot_code, layer_name))
    try:
        # move the file
        dir = server.get_handoff_dir()
        paths = expand_paths(pattern, file_range)
        move_file(paths, dir)

        file_name = os.path.basename(pattern)
        new_pattern = '%s/%s' % (dir, file_name)
        print "Files moved to handoff dir.\n"

        # checkin the moved files
        filters = []
        filters.append(('shot_code', shot_code))
        filters.append(('name', layer_name))
        results = server.query('prod/layer', filters)

        # take the first one
        if results:
            id = results[0].get('id')

        search_type = server.build_search_type('prod/layer')
        # find the layer snapshot
        filters = []
        filters.append(('version', version))
        filters.append(('search_type', search_type))
        filters.append(('search_id', id))
        #TODO : may need a context to search for the proper layer
        results = server.query('sthpw/snapshot', filters)
        snap_code = ''
        if results:
            snap_code = results[0].get('code')

        # find the render
        render = None
        filters = []
        filters.append(('search_type', search_type))
        filters.append(('search_id', id))
        filters.append(('snapshot_code', snap_code))
        results = server.query(SEARCH_TYPE, filters)
        if results:
            render = results[0]

        if not render:
            render_data = {
                'search_type': search_type,
                'search_id': id,
                'snapshot_code': snap_code
            }

            render = server.insert("prod/render", render_data)
        '''
        results = server.query(SEARCH_TYPE, filters)
        render_id = 0
        if results:
            render_id = results[0].get('id')
        # find the render id    
        search_key = server.build_search_key(SEARCH_TYPE, render_id, column='id')
        '''
        file_type = 'main'

        # run group checkin
        server.group_checkin(render.get("__search_key__"),
                             context=context,
                             file_path=new_pattern,
                             file_type=file_type,
                             file_range=file_range)

    except:
        server.abort()
        raise
    else:
        server.finish()