class_docstr: A simple text progress bar suitable for both the IPython notebook
  and the IPython interactive prompt.
  
  ProgressBars are automatically nested if a previous instantiated
  progress bars has not achieved 100% completion.
class_docstr_tok: ["A","simple","text","progress","bar","suitable","for","both","the","IPython","notebook","and","the","IPython","interactive","prompt",".","ProgressBars","are","automatically","nested","if","a","previous","instantiated","progress","bars","has","not","achieved","100","%","completion","."]
docstr: Update the progress bar within the specified percent_range
docstr_tok: ["Update","the","progress","bar","within","the","specified","percent_range"]
code: def __call__(self, percentage):
      "Update the progress bar within the specified percent_range"
  
      if self.start_time is None:
          self.start_time = time.time()
      span = self.percent_range[1] - self.percent_range[0]
      percentage = self.percent_range[0] + ((percentage / 100.0) * span)
  
      if self.display == "disabled":
          return
      elif self.display == "stdout":
          if percentage == 100 and self.elapsed_time:
              elapsed = time.time() - self.start_time
              if clear_output:
                  clear_output()
              self.out = "\r" + (
                  "100%% %s %02d:%02d:%02d"
                  % (
                      self.label.lower(),
                      elapsed // 3600,
                      elapsed // 60,
                      elapsed % 60,
                  )
              )
              output = "".join([pg.out for pg in self.current_progress])
              sys.stdout.write(output)
          else:
              self._stdout_display(percentage)
          if percentage == 100 and ProgressBar.current_progress:
              ProgressBar.current_progress.pop()
          return
  
      if "socket" not in self.cache:
          self.cache["socket"] = self._get_socket()
  
      if self.cache["socket"] is not None:
          self.cache["socket"].send(f"{percentage}|{self.label}")
  
imports: import math
  import sys
  import time
  import param
  from IPython.core.display import clear_output
  from ..core.util import ProgressIndicator
label_desc: Use image node_id 2 for calling the ProgressBar obj's underlying member method code with example usage: obj.__call__(percentage) without return types