Beispiel #1
0
 /**
  * Constructor.
  *
  * @param OutputInterface $output An OutputInterface instance
  * @param int             $max    Maximum steps (0 if unknown)
  */
 public function __construct(OutputInterface $output, $max = 0)
 {
     // Disabling output when it does not support ANSI codes as it would result in a broken display anyway.
     $this->output = $output->isDecorated() ? $output : new NullOutput();
     $this->setMaxSteps($max);
     $this->setFormat($this->determineBestFormat());
     $this->startTime = time();
 }
Beispiel #2
0
 /**
  * Starts the progress output.
  *
  * @param OutputInterface $output An Output instance
  * @param int|null        $max    Maximum steps
  */
 public function start(OutputInterface $output, $max = null)
 {
     $this->startTime = time();
     $this->current = 0;
     $this->max = (int) $max;
     // Disabling output when it does not support ANSI codes as it would result in a broken display anyway.
     $this->output = $output->isDecorated() ? $output : new NullOutput();
     $this->lastMessagesLength = 0;
     $this->barCharOriginal = '';
     if (null === $this->format) {
         switch ($output->getVerbosity()) {
             case OutputInterface::VERBOSITY_QUIET:
                 $this->format = self::FORMAT_QUIET_NOMAX;
                 if ($this->max > 0) {
                     $this->format = self::FORMAT_QUIET;
                 }
                 break;
             case OutputInterface::VERBOSITY_VERBOSE:
             case OutputInterface::VERBOSITY_VERY_VERBOSE:
             case OutputInterface::VERBOSITY_DEBUG:
                 $this->format = self::FORMAT_VERBOSE_NOMAX;
                 if ($this->max > 0) {
                     $this->format = self::FORMAT_VERBOSE;
                 }
                 break;
             default:
                 $this->format = self::FORMAT_NORMAL_NOMAX;
                 if ($this->max > 0) {
                     $this->format = self::FORMAT_NORMAL;
                 }
                 break;
         }
     }
     $this->initialize();
 }