astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v1.1.1 »
- Astropy Core Package Utilities (`astropy.utils`) »
- ProgressBarOrSpinner

# ProgressBarOrSpinner

class `astropy.utils.console.``ProgressBarOrSpinner`(total, msg, color=u'default', file=None)

  Bases: `object`

  A class that displays either a `ProgressBar` or `Spinner` depending on whether the total size of the operation is known or not.

  It is designed to be used with the `with` statement:

      if file.has_length():
          length = file.get_length()
      else:
          length = None
      bytes_read = 0
      with ProgressBarOrSpinner(length) as bar:
          while file.read(blocksize):
              bytes_read += blocksize
              bar.update(bytes_read)

  Parameters:

  total : int or None

  > If an int, the number of increments in the process being tracked and a `ProgressBar` is displayed. If `None`, a `Spinner` is displayed.

  msg : str

  > The message to display above the `ProgressBar` or alongside the `Spinner`.

  color : str, optional

  > The color of `msg`, if any. Must be an ANSI terminal color name. Must be one of: black, red, green, brown, blue, magenta, cyan, lightgrey, default, darkgrey, lightred, lightgreen, yellow, lightblue, lightmagenta, lightcyan, white.

  file : writable file-like object, optional

  > The file to write the to. Defaults to `sys.stdout`. If `file` is not a tty (as determined by calling its `isatty` member, if any), only `msg` will be displayed: the `ProgressBar` or `Spinner` will be silent.

  Methods Summary

  `update`(value) | Update the progress bar to the given value (out of the total given to the constructor.

  Methods Documentation

  `update`(value)

    Update the progress bar to the given value (out of the total given to the constructor.