class_docstr: ProgressBar that uses an IPython ProgressBar widget for the notebook
  
  See Also
  --------
  progress: User function
  TextProgressBar: Text version suitable for the console
class_docstr_tok: ["ProgressBar","that","uses","an","IPython","ProgressBar","widget","for","the","notebook","See","Also","--","--","--","--","progress",":","User","function","TextProgressBar",":","Text","version","suitable","for","the","console"]
code: def _draw_stop(self, remaining, status, exception=None, **kwargs):
      if status == "error":
          _, exception, _ = clean_exception(exception)
          self.bar.bar_style = "danger"
          self.elapsed_time.value = (
              '<div style="padding: 0px 10px 5px 10px"><b>Exception</b> '
              "<tt>"
              + repr(exception)
              + "</tt>:"
              + format_time(self.elapsed)
              + " "
              + "</div>"
          )
      elif not remaining:
          self.bar.bar_style = "success"
          self.elapsed_time.value = (
              '<div style="padding: 0px 10px 5px 10px"><b>Finished:</b> '
              + format_time(self.elapsed)
              + "</div>"
          )
  
imports: from __future__ import annotations
  import html
  import logging
  import sys
  import warnings
  import weakref
  from contextlib import suppress
  from timeit import default_timer
  from typing import Callable
  from tlz import valmap
  from tornado.ioloop import IOLoop
  import dask
  from dask.utils import key_split
  from distributed.client import default_client, futures_of
  from distributed.core import CommClosedError, clean_exception, coerce_to_address, connect
  from distributed.diagnostics.progress import MultiProgress, Progress, format_time
  from distributed.protocol.pickle import dumps
  from distributed.utils import LoopRunner, is_kernel
label_desc: Use image node_id 3 for calling the ProgressWidget obj's underlying member method code with example usage: obj._draw_stop(remaining, status, exception) without return types