'Align cell vertically
Args:
data (str): Text to align.
Returns:
text (str): Vertically aligned text.'

def _valign(self, data):

    valign = self.valign
    height = self.height
    cheight = len(data)
    excess = (height - cheight)
    padline = (self.vfill_char * self.width)
    if (excess <= 0):
        return data
    if (valign == 't'):
        return (data + [padline for _ in range(excess)])
    elif (valign == 'b'):
        return ([padline for _ in range(excess)] + data)
    else:
        narrowside = [padline for _ in range((excess // 2))]
        widerside = (narrowside + [padline])
        if (excess % 2):
            if (height % 2):
                return ((widerside + data) + narrowside)
            else:
                return ((narrowside + data) + widerside)
        else:
            return ((narrowside + data) + narrowside)
