code: def set_progress(self, progress):
          
          _progress = progress
          if _progress > self.total:
              _progress = self.total
          elif _progress < 0:
              _progress = 0
  
          # Stop task chrono if needed
          if _progress == self.total and self.display_time:
              self.end_time = time.time() * 1000
  
              # If the task has completed instantly then define its begin_time too
              if not self.begin_time:
                  self.begin_time = self.end_time
  
          has_changed = self.progress != _progress
  
          if has_changed:
              self.progress = _progress
  
          return has_changed
docs: Defines the current progress for this progress bar in iteration units (not percent).
          :param progress:    Current progress in iteration units regarding its total (not percent).
          :return:            True if the progress has changed. If the given progress is higher than the total or lower
                              than 0 then it will be ignored.