equal
deleted
inserted
replaced
44 import requests |
44 import requests |
45 |
45 |
46 |
46 |
47 logger = logging.getLogger(__name__) |
47 logger = logging.getLogger(__name__) |
48 |
48 |
49 def show_progress(current_line, total_line, label, width, writer=None): |
49 def show_progress(current_line, total_line, label, width, writer=None, newline=False): |
50 |
50 |
51 if writer is None: |
51 if writer is None: |
52 writer = sys.stdout |
52 writer = sys.stdout |
53 if sys.stdout.encoding is not None: |
53 if sys.stdout.encoding is not None: |
54 writer = codecs.getwriter(sys.stdout.encoding)(sys.stdout) |
54 writer = codecs.getwriter(sys.stdout.encoding)(sys.stdout) |
58 marks = math.floor(width * (percent / 100.0)) #@UndefinedVariable |
58 marks = math.floor(width * (percent / 100.0)) #@UndefinedVariable |
59 spaces = math.floor(width - marks) #@UndefinedVariable |
59 spaces = math.floor(width - marks) #@UndefinedVariable |
60 |
60 |
61 loader = u'[' + (u'=' * int(marks)) + (u' ' * int(spaces)) + u']' |
61 loader = u'[' + (u'=' * int(marks)) + (u' ' * int(spaces)) + u']' |
62 |
62 |
63 s = u"%s %3d%% %*d/%d - %*s\r" % (loader, percent, len(str(total_line)), current_line, total_line, width, label[:width]) |
63 s = u"%s %3d%% %*d/%d - %*s%s" % (loader, percent, len(str(total_line)), current_line, total_line, width, label[:width], "\n" if newline else "\r") |
64 |
64 |
65 writer.write(s) #takes the header into account |
65 writer.write(s) #takes the header into account |
66 if percent >= 100: |
66 if percent >= 100: |
67 writer.write("\n") |
67 writer.write("\n") |
68 writer.flush() |
68 writer.flush() |