diff --git a/publish.py b/publish.py index c42474935..0f75a0569 100755 --- a/publish.py +++ b/publish.py @@ -65,8 +65,10 @@ class ReadFileWithProgressReporting(io.BufferedReader): # {{{ return data def report_progress(self, size): - sys.stdout.buffer.write(b'\x1b[s') - sys.stdout.buffer.write(b'\x1b[K') + def write(*args): + print(*args, end='') + + write('\x1b[s\x1b[K') frac = float(self.tell()) / self._total mb_pos = self.tell() / float(1024**2) mb_tot = self._total / float(1024**2) @@ -75,14 +77,13 @@ class ReadFileWithProgressReporting(io.BufferedReader): # {{{ bit_rate = kb_rate * 1024 eta = int((self._total - self.tell()) / bit_rate) + 1 eta_m, eta_s = eta / 60, eta % 60 - sys.stdout.write( + write( ' %.1f%% %.1f/%.1fMB %.1f KB/sec %d minutes, %d seconds left' % (frac * 100, mb_pos, mb_tot, kb_rate, eta_m, eta_s)) - sys.stdout.buffer.write(b'\x1b[u') + write('\x1b[u') if self.tell() >= self._total: - sys.stdout.write('\n') t = int(time.time() - self.start_time) + 1 - print('Upload took %d minutes and %d seconds at %.1f KB/sec' % + print('\nUpload took %d minutes and %d seconds at %.1f KB/sec' % (t / 60, t % 60, kb_rate)) sys.stdout.flush()