In [ ]:
def update_progress(progress, total, size=100):
    bsize = size - 10
    percent =  100 * progress / total
    bar = '|' + round(percent * bsize / 100) * '█' + round((100 - percent) * bsize / 100) * '-' + '|'
    bar += ' ' * (len('100') - len(str(int(percent))))
    print(f'{bar} {percent:.2f}%', end='\r')
In [ ]:
def print_centre_hashed(string,size=100):
    strMaxSize = size - 8 # -> ### text ###
    for i in range(len(string) // strMaxSize + 1):
        endIndex = strMaxSize
        lastSpace = -1
        if len(string) > strMaxSize:
            lastSpace = string[:strMaxSize].rindex(' ')
            if lastSpace == -1:
                endIndex = len(string)
            else:
                endIndex = lastSpace + 1
        curr = ' ' + string[0: endIndex] + (' ' if lastSpace == -1 else '')
        print(curr.center(size, '#'))
        if endIndex != len(string):
            string = string[endIndex:]