<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def center_cell_text(cell):
 """ Horizontally center the text within a cell's grid Like this:: +---------+ +---------+ | foo | --> | foo | +---------+ +---------+ Parameters cell : dashtable.data2rst.Cell Returns ------- cell : dashtable.data2rst.Cell """

    lines = cell.text.split('\n')
    cell_width = len(lines[0]) - 2

    truncated_lines = ['']
    for i in range(1, len(lines) - 1):
        truncated = lines[i][2:len(lines[i]) - 2].rstrip()
        truncated_lines.append(truncated)

    truncated_lines.append('')

    max_line_length = get_longest_line_length('\n'.join(truncated_lines))
    remainder = cell_width - max_line_length

    left_width = math.floor(remainder / 2)
    left_space = left_width * ' '

    for i in range(len(truncated_lines)):
        truncated_lines[i] = left_space + truncated_lines[i]
        right_width = cell_width - len(truncated_lines[i])
        truncated_lines[i] += right_width * ' '

    for i in range(1, len(lines) - 1):
        lines[i] = ''.join([
            lines[i][0], truncated_lines[i], lines[i][-1]
        ])

    cell.text = '\n'.join(lines)

    return cell