def map_part_number()

in function/python_3_9/src/response/part_number_mapper.py [0:0]


def map_part_number(transformed_object, part_number):
    """
    Map the part number of an object
    :param transformed_object: transformed object
    :param part_number: part number request string
    :return: MapperResponse
    """
    object_length = len(transformed_object)
    total_part = math.ceil(object_length / DEFAULT_SIZE)
    try:
        part_number = int(part_number)
    except ValueError:
        return get_part_error_response(part_number, total_part)
    if part_number > total_part or part_number < 0:
        return get_part_error_response(part_number, total_part)

    start = (part_number - 1) * DEFAULT_SIZE
    end = min(start + DEFAULT_SIZE, object_length)
    return MapperResponse(hasError=False, object=transformed_object[start:end],
                          error_msg=None)