Skip to content

Progress bar not clearing line in Console mode #106

@ucohen

Description

@ucohen

In console mode, when adding a progress comment, the previous line is not completely cleared thus causing the leftover ending to remain. for example:

from fastprogress import progress_bar
from pathlib import Path
import time

files = list(Path('/etc').glob('*'))
pb = progress_bar(files)

for fn in pb:
    pb.comment = f'{fn.stem}'
    time.sleep(0.1)

console output:

|█████████████----| 77.69% [188/242 00:18<00:05 login]es]]e]te].conf]

I managed to root-cause the issue and solved it by updating on_update and padding with empty spaces to max_len

modify:

if len(to_write) > self.max_len: self.max_len=len(to_write)

to

if len(to_write) > self.max_len: self.max_len=len(to_write)
else: to_write += ' ' * (self.max_len - len(to_write))

is this the proper way to fix it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions