code: def _display(self, sent, now, chunk, mbps):
          
          if self.parent is not None:
              self.parent._display(self.parent.offset + sent, now, chunk, mbps)
              return
  
          elapsed = now - self.startTime
  
          if sent > 0 and self.total is not None and sent <= self.total:
              eta = (self.total - sent) * elapsed.total_seconds() / sent
              eta = datetime.timedelta(seconds=eta)
          else:
              eta = None
  
          self.output.write(
              "\r %s: Sent %s%s%s ETA: %s (%s) %s%20s\r" % (
                  elapsed,
                  util.humanize(sent),
                  "" if self.total is None else " of %s" % (util.humanize(self.total),),
                  "" if self.total is None else " (%d%%)" % (int(100 * sent / self.total),),
                  eta,
                  "" if not mbps else "%.3g Mbps " % (mbps,),
                  chunk or "",
                  " ",
              )
          )
  
          self.output.flush()
docs: Display intermediate progress.