def get_progress_bar(total_length, percentage, item='#', start='[', end=']'):
    """Builds a progress bar representation, drawn item as base symbol. The bar is delimited by start
    and end.

    The length of the progress bar is proportional to the percentage with respect to
    the total_length.

    :param total_length: (int) total length, representing 100%.
    :param percentage: (float) progress completion percentage, between 0.0 and 1.0.
    :param item: (string) character used to draw the bar.
    :param start: (string) start character for the bar.
    :param end: (string) end character for the bar.
    :return: (string) representing the progress bar.

    Examples:

    >>> get_progress_bar(10, 0.0)
    '[]'
    >>> get_progress_bar(10, 1.0)
    '[########]'
    >>> get_progress_bar(10, 1.0, item='$')
    '[$$$$$$$$]'
    >>> get_progress_bar(10, 0.5, start='E', end='X')
    'E###X'
    """
    bar_length = int(percentage * total_length) - 2
    return start + item * bar_length + end
