Exemplo n.º 1
0
def add_video_id_transcode_bitrate(request):
    video_id = request.get_arg("video_id")
    bitrates = request.get_arg("bitrates")
    response = X100Response()

    response.set_header("Access-Control-Allow-Origin", "*")
    response.set_header("Access-Control-Allow-Methods", "GET")

    if not video_id or not bitrates:
        response.set_body('{"status":"failed", "message":"video_id or bitrates empty"}')
        return response

    add_bitrates_list = bitrates.split(",")

    r   = redis_connect()
    ret = r.hget("x100speed_hash_videoid", video_id)
    if not ret:
        response.set_body('{"status":"failed", "message":"video_id redis not found"}')
        return response
    
    data_object  = DataStructuresSerialized(ret, "|")
    data_list    = data_object.getDeserializationStruct()
    bitrate_list = DataStructuresSerialized(data_list[3], ',').getDeserializationStruct()
    bitrate_list.extend(add_bitrates_list)
    bitrate_list = list(set(bitrate_list))
    bitrate_list.sort(key = int)
    bitrate_string = DataStructuresSerialized(bitrate_list, ',').getSerializedString()
    bitrate_of_list_index = 3
    data_object.update(bitrate_of_list_index, bitrate_string)

    ret = r.hset("x100speed_hash_videoid", video_id, data_object.getDeserializationStruct())
    
    response.set_body('{"status":"success", "message":""}')
    return response
Exemplo n.º 2
0
def add_video_id_transcode_bitrate(request):
    video_id = request.get_arg("video_id")
    bitrates = request.get_arg("bitrates")
    response = X100Response()

    response.set_header("Access-Control-Allow-Origin", "*")
    response.set_header("Access-Control-Allow-Methods", "GET")

    if not video_id or not bitrates:
        response.set_body(
            '{"status":"failed", "message":"video_id or bitrates empty"}')
        return response

    add_bitrates_list = bitrates.split(",")

    r = redis_connect()
    ret = r.hget("x100speed_hash_videoid", video_id)
    if not ret:
        response.set_body(
            '{"status":"failed", "message":"video_id redis not found"}')
        return response

    data_object = DataStructuresSerialized(ret, "|")
    data_list = data_object.getDeserializationStruct()
    bitrate_list = DataStructuresSerialized(data_list[3],
                                            ',').getDeserializationStruct()
    bitrate_list.extend(add_bitrates_list)
    bitrate_list = list(set(bitrate_list))
    bitrate_list.sort(key=int)
    bitrate_string = DataStructuresSerialized(bitrate_list,
                                              ',').getSerializedString()
    bitrate_of_list_index = 3
    data_object.update(bitrate_of_list_index, bitrate_string)

    ret = r.hset("x100speed_hash_videoid", video_id,
                 data_object.getDeserializationStruct())

    response.set_body('{"status":"success", "message":""}')
    return response
Exemplo n.º 3
0
def update_video_status(request):
    video_id = request.get_arg('video_id')
    status   = request.get_arg('status')
    ip       = request.get_remote_ip()
    response = X100Response()
    response.set_header("Access-Control-Allow-Origin", "*")
    response.set_header("Access-Control-Allow-Methods", "GET")
    
    if not video_id or not status:
        response.set_body('{"status":"failed", "message":"video_id or status empty"}')
        return response

    value = ''
    r     = redis_connect()
    ret   = r.hget("x100speed_hash_videoid", video_id)
    if not ret:
        if status == "proceed":
            bitrate = request.get_arg('bitrate')
            if not bitrate:
                response.set_body('{"status":"failed", "message":"proceed first bitrate empty"}')
                return response

            value = status + '|' + '|' + ip + '|' + bitrate
            r.hset('x100speed_hash_videoid', video_id, value)
            response.set_body('{"status":"success", "message":""}')
        else:
            response.set_body('{"status":"failed", "message":"redis not have video_id"}')
        return response
    
    data_object = DataStructuresSerialized(ret, "|")

    if status == "proceed":
        bitrate = request.get_arg('bitrate')
        if not bitrate:
            response.set_body('{"status":"failed", "message":"bitrate params is empty"}')
            return response

        data_list      = data_object.getDeserializationStruct()
        bitrate_list   = DataStructuresSerialized(data_list[3], ',').getDeserializationStruct()
        bitrate_list.append(bitrate)
        bitrate_list = list(set(bitrate_list))
        bitrate_list.sort(key = int)
        bitrate_string = DataStructuresSerialized(bitrate_list, ',').getSerializedString()
        bitrate_of_list_index = 3
        data_object.update(bitrate_of_list_index, bitrate_string)

    status_of_list_index  = 0
    ip_of_list_index      = 2
    
    data_object.update(status_of_list_index, status)
    data_object.update(ip_of_list_index, ip)
    
    value = data_object.getSerializedString()

    r.hset('x100speed_hash_videoid', video_id, value)
    
    if status == "success":  
        r.rpush("x100speed_" + ip + "_list", video_id)

    response.set_body('{"status":"success", "message":""}')
    return response
Exemplo n.º 4
0
def update_video_status(request):
    video_id = request.get_arg('video_id')
    status = request.get_arg('status')
    ip = request.get_remote_ip()
    response = X100Response()
    response.set_header("Access-Control-Allow-Origin", "*")
    response.set_header("Access-Control-Allow-Methods", "GET")

    if not video_id or not status:
        response.set_body(
            '{"status":"failed", "message":"video_id or status empty"}')
        return response

    value = ''
    r = redis_connect()
    ret = r.hget("x100speed_hash_videoid", video_id)
    if not ret:
        if status == "proceed":
            bitrate = request.get_arg('bitrate')
            if not bitrate:
                response.set_body(
                    '{"status":"failed", "message":"proceed first bitrate empty"}'
                )
                return response

            value = status + '|' + '|' + ip + '|' + bitrate
            r.hset('x100speed_hash_videoid', video_id, value)
            response.set_body('{"status":"success", "message":""}')
        else:
            response.set_body(
                '{"status":"failed", "message":"redis not have video_id"}')
        return response

    data_object = DataStructuresSerialized(ret, "|")

    if status == "proceed":
        bitrate = request.get_arg('bitrate')
        if not bitrate:
            response.set_body(
                '{"status":"failed", "message":"bitrate params is empty"}')
            return response

        data_list = data_object.getDeserializationStruct()
        bitrate_list = DataStructuresSerialized(
            data_list[3], ',').getDeserializationStruct()
        bitrate_list.append(bitrate)
        bitrate_list = list(set(bitrate_list))
        bitrate_list.sort(key=int)
        bitrate_string = DataStructuresSerialized(bitrate_list,
                                                  ',').getSerializedString()
        bitrate_of_list_index = 3
        data_object.update(bitrate_of_list_index, bitrate_string)

    status_of_list_index = 0
    ip_of_list_index = 2

    data_object.update(status_of_list_index, status)
    data_object.update(ip_of_list_index, ip)

    value = data_object.getSerializedString()

    r.hset('x100speed_hash_videoid', video_id, value)

    if status == "success":
        r.rpush("x100speed_" + ip + "_list", video_id)

    response.set_body('{"status":"success", "message":""}')
    return response