[docs]
def left_string(string: str, padding: int) -> str:
"""
Formats a string with padding. Either adds spaces to the end or truncates
Args
----
string : str
String for printing
padding : int
Width (in columns) for the final format
Returns
-------
: str
If ``string`` is longer than padding, it will be trimmed with ellipses
Example
-------
::
left_string('A very long string', 10)
# => 'A very ...'
left_string('short', 10)
# => 'short '
"""
if len(string) > padding:
return '{}...'.format(string[0:padding-3])
elif len(string) == padding:
return string
else:
# len(string) < padding
return '{string}{padding}'.format(
string=string,
padding=' '*(int(padding)-len(string))
)