Returns the completed progress bar.

        Positional arguments:
        width -- the width of the entire bar (including borders).

        Keyword arguments:
        percent -- the percentage to draw.

def bar(self, width, percent=0):
        """Returns the completed progress bar.

        Positional arguments:
        width -- the width of the entire bar (including borders).

        Keyword arguments:
        percent -- the percentage to draw.
        """
        width -= self._width_offset
        units_float = percent * 0.01 * width
        if units_float < 0.5:
            return self.CHAR_LEFT_BORDER + self.CHAR_EMPTY * width + self.CHAR_RIGHT_BORDER
        units = int(units_float)
        show_half = units_float - units >= 0.5

        if show_half:
            final_bar = (
                self.CHAR_LEFT_BORDER +
                self.CHAR_FULL * units +
                self.CHAR_HALF +
                self.CHAR_EMPTY * (width - units - 1) +
                self.CHAR_RIGHT_BORDER
            )
        else:
            final_bar = (
                self.CHAR_LEFT_BORDER +
                self.CHAR_FULL * units +
                self.CHAR_EMPTY * (width - units) +
                self.CHAR_RIGHT_BORDER
            )

        return final_bar