code: def init(self, single=None, only_mount=None, skip_mount=None, swallow_exceptions=True):
          
  
          self.mount()
          self.volumes.preload_volume_data()
  
          for v in self.init_volumes(single, only_mount=only_mount, skip_mount=skip_mount,
                                     swallow_exceptions=swallow_exceptions):
              yield v
docs: Calls several methods required to perform a full initialisation: :func:`mount`, and
          :func:`mount_volumes` and yields all detected volumes.
  
          :param bool|None single: indicates whether the disk should be mounted as a single disk, not as a single disk or
              whether it should try both (defaults to :const:`None`)
          :param list only_mount: If set, must be a list of volume indexes that are only mounted.
          :param list skip_mount: If set, must be a list of volume indexes tat should not be mounted.
          :param bool swallow_exceptions: If True, Exceptions are not raised but rather set on the instance.
          :rtype: generator