def first_and_last_n_chars(s, n1=30, n2=30):
    """
    Utility function to display first n1 characters and last n2 characters of a long string
    (Adjusts display if string is less than n1+n2 char long)
    :param s: string
    :return: string for display
    """
    first_len = min(len(s), n1)
    first = s[:first_len]
    last_len = min(len(s) - len(first), n2)
    last = s[-last_len:] if last_len > 0 else ''

    if first_len == len(s):
        return first
    elif first_len + last_len == len(s):
        return "{}{}".format(first, last)
    else:
        return "{}...{}".format(first, last)