def _prepare_quote(quote, author, max_len=78):
    """This function processes a quote and returns a string that is ready
to be used in the fancy prompt.

    """
    quote = quote.split(' ')
    max_len -= 6
    lines = []
    cur_line = []

    def _len(line):
        return sum(len(elt) for elt in line) + len(line) - 1
    while quote:
        if not cur_line or (_len(cur_line) + len(quote[0]) - 1 <= max_len):
            cur_line.append(quote.pop(0))
            continue
        lines.append('   | %s' % ' '.join(cur_line))
        cur_line = []
    if cur_line:
        lines.append('   | %s' % ' '.join(cur_line))
        cur_line = []
    lines.append('   | %s-- %s' % (" " * (max_len - len(author) - 5), author))
    return lines
def _prepare_quote ( quote , author , max_len = 78 ) : quote = quote . split ( ' ' ) max_len -= 6 lines = [ ] cur_line = [ ] def _len ( line ) : return sum ( len ( elt ) for elt in line ) + len ( line ) - 1 while quote : if not cur_line or ( _len ( cur_line ) + len ( quote [ 0 ] ) - 1 <= max_len ) : cur_line . append ( quote . pop ( 0 ) ) continue lines . append ( '   | %s' % ' ' . join ( cur_line ) ) cur_line = [ ] if cur_line : lines . append ( '   | %s' % ' ' . join ( cur_line ) ) cur_line = [ ] lines . append ( '   | %s-- %s' % ( " " * ( max_len - len ( author ) - 5 ) , author ) ) return lines
This function processes a quote and returns a string that is ready
to be used in the fancy prompt.