def get_table(headers, rows, sizes):
def make_len(val, size):
if len(val) > size:
return name[:size-3] + '...'
else:
return val + ' '*(size-len(val))
def line(row):
return '|'.join(make_len(row[i], sizes[i])
for i in range(len(row)))
ret = ''
ret += line(headers) + '\n'
for i in rows:
ret += line(i) + '\n'
return ret