setOverwrite() public method

Sets whether to overwrite the progressbar, false for new line.
public setOverwrite ( boolean $overwrite )
$overwrite boolean
コード例 #1
0
ファイル: ProgressSubscriber.php プロジェクト: phpro/grumphp
 /**
  * @param OutputInterface  $output
  * @param ProgressBar $progressBar
  */
 public function __construct(OutputInterface $output, ProgressBar $progressBar)
 {
     $this->output = $output;
     $this->progressBar = $progressBar ?: new ProgressBar($output);
     $this->progressBar->setOverwrite(false);
     $this->progressFormat = "<fg=yellow>Running task %current%/%max%:</fg=yellow> %message%";
 }
コード例 #2
0
 function it_finishes_progress(OutputInterface $output, ProgressBar $progressBar, RunnerEvent $event)
 {
     $progressBar->setOverwrite(false)->shouldBeCalled();
     $progressBar->finish()->shouldBeCalled();
     $output->writeln('')->shouldBeCalled();
     $this->finishProgress($event);
 }
コード例 #3
0
 /**
  * @param int $max
  * @param bool $forceLogLevel
  * @return void
  */
 public function start($max, $forceLogLevel = false)
 {
     if ($this->canRun($forceLogLevel)) {
         echo PHP_EOL;
         $max = $max == 0 ? 1 : $max;
         $this->progressBar->start($max);
         $this->progressBar->setOverwrite(true);
     }
 }
コード例 #4
0
 function it_finishes_progress_early(OutputInterface $output, ProgressBar $progressBar, RunnerEvent $event)
 {
     $progressBar->getProgress()->willReturn(1);
     $progressBar->getMaxSteps()->willReturn(2);
     $progressBar->setFormat(Argument::type('string'))->shouldBeCalled();
     $progressBar->setMessage(Argument::type('string'))->shouldBeCalled();
     $progressBar->setOverwrite(false)->shouldBeCalled();
     $progressBar->finish()->shouldBeCalled();
     $output->writeln('')->shouldBeCalled();
     $this->finishProgress($event);
 }
コード例 #5
0
ファイル: DirectoryPlugin.php プロジェクト: nanbando/core
 /**
  * {@inheritdoc}
  *
  * @throws FileExistsException
  * @throws \InvalidArgumentException
  * @throws FileNotFoundException
  * @throws LogicException
  */
 public function restore(Filesystem $source, Filesystem $destination, ReadonlyDatabase $database, array $parameter)
 {
     // TODO make it smoother
     $files = $source->listFiles('', true);
     $progressBar = new ProgressBar($this->output, count($files));
     $progressBar->setOverwrite(true);
     $progressBar->setFormat(' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s% %memory:6s%');
     $progressBar->start();
     foreach ($files as $file) {
         $path = $file['path'];
         $fullPath = $parameter['directory'] . '/' . $file['path'];
         if ($destination->has($fullPath)) {
             if ($destination->hash($fullPath) === $source->hash($path)) {
                 $progressBar->advance();
                 continue;
             }
             $destination->delete($fullPath);
         }
         $destination->writeStream($fullPath, $source->readStream($path));
         $progressBar->advance();
     }
     $progressBar->finish();
 }
コード例 #6
0
ファイル: Dumper.php プロジェクト: webfactory/slimdump
 /**
  * @param            $table
  * @param Table      $tableConfig
  * @param Connection $db
  *
  * @throws \Doctrine\DBAL\DBALException
  */
 public function dumpData($table, Table $tableConfig, Connection $db)
 {
     $this->keepalive($db);
     $cols = $this->cols($table, $db);
     $s = "SELECT ";
     $first = true;
     foreach (array_keys($cols) as $name) {
         $isBlobColumn = $this->isBlob($name, $cols);
         if (!$first) {
             $s .= ', ';
         }
         $s .= $tableConfig->getSelectExpression($name, $isBlobColumn);
         $s .= " AS `{$name}`";
         $first = false;
     }
     $s .= " FROM `{$table}`";
     $s .= $tableConfig->getCondition();
     $this->output->writeln("-- BEGIN DATA {$table}", OutputInterface::OUTPUT_RAW);
     $bufferSize = 0;
     $max = 100 * 1024 * 1024;
     // 100 MB
     $numRows = $db->fetchColumn("SELECT COUNT(*) FROM {$table}");
     if ($numRows == 0) {
         // Fail fast: No data to dump.
         return;
     }
     $progress = new ProgressBar($this->output, $numRows);
     $progress->setFormat("Dumping data <fg=cyan>{$table}</>: <fg=yellow>%percent:3s%%</> %remaining%/%estimated%");
     $progress->setOverwrite(true);
     $progress->setRedrawFrequency(max($numRows / 100, 1));
     $progress->start();
     /** @var PDOConnection $wrappedConnection */
     $wrappedConnection = $db->getWrappedConnection();
     $wrappedConnection->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
     foreach ($db->query($s) as $row) {
         $b = $this->rowLengthEstimate($row);
         // Start a new statement to ensure that the line does not get too long.
         if ($bufferSize && $bufferSize + $b > $max) {
             $this->output->writeln(";", OutputInterface::OUTPUT_RAW);
             $bufferSize = 0;
         }
         if ($bufferSize == 0) {
             $this->output->write($this->insertValuesStatement($table, $cols), false, OutputInterface::OUTPUT_RAW);
         } else {
             $this->output->write(",", false, OutputInterface::OUTPUT_RAW);
         }
         $firstCol = true;
         $this->output->write("\n(", false, OutputInterface::OUTPUT_RAW);
         foreach ($row as $name => $value) {
             $isBlobColumn = $this->isBlob($name, $cols);
             if (!$firstCol) {
                 $this->output->write(", ", false, OutputInterface::OUTPUT_RAW);
             }
             $this->output->write($tableConfig->getStringForInsertStatement($name, $value, $isBlobColumn, $db), false, OutputInterface::OUTPUT_RAW);
             $firstCol = false;
         }
         $this->output->write(")", false, OutputInterface::OUTPUT_RAW);
         $bufferSize += $b;
         $progress->advance();
     }
     $progress->setFormat("Dumping data <fg=green>{$table}</>: <fg=green>%percent:3s%%</> Took: %elapsed%");
     $progress->finish();
     if ($this->output instanceof \Symfony\Component\Console\Output\ConsoleOutput) {
         $this->output->getErrorOutput()->write("\n");
         // write a newline after the progressbar.
     }
     $wrappedConnection->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
     if ($bufferSize) {
         $this->output->writeln(";", OutputInterface::OUTPUT_RAW);
     }
     $this->output->writeln('', OutputInterface::OUTPUT_RAW);
 }
コード例 #7
0
ファイル: CreateCommand.php プロジェクト: poetic/clutch
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $io = new DrupalStyle($input, $output);
     $bundlezip = $input->getOption('zip-file');
     if (!$bundlezip) {
         $helper = $this->getHelper('question');
         $question = new Question('<info>Please enter the name of the zip file:</info> <comment>[webflow]</comment> ', 'webflow');
         $bundlezip = $helper->ask($input, $output, $question);
     }
     $withZip = $bundlezip . ".zip";
     // Theme Name
     $theme = $input->getOption('theme-name');
     if (!$theme) {
         $helper = $this->getHelper('question');
         $question = new Question('<info>Please enter theme name:</info> <comment>[webflow]</comment> ', 'webflow');
         $theme = $helper->ask($input, $output, $question);
     }
     // Theme Description
     // $themeDesc = $input->getOption('theme-description');
     // if(!$themeDesc){
     //   $helper = $this->getHelper('question');
     //   $question = new Question('<info>Please enter theme description:</info> <comment>[These is a webflow theme]</comment> ', 'These is a webflow theme');
     //   $themeDesc = $helper->ask($input, $output, $question);
     // }
     $themeDesc = 'These is a webflow theme';
     $path = getcwd() . '/temp';
     $zip = new ZipArchive();
     if ($zip->open($withZip) === TRUE) {
         $zip->extractTo($path);
         $zip->close();
         $output->writeln('<info>Starting Theme creation process</info>');
     } else {
         $output->writeln('<comment>Failed to open the archive!</comment>');
         return false;
     }
     $directory = "{$path}/{$bundlezip}/";
     $htmlfiles = glob($directory . "*.html");
     $themeMachine = strtolower(str_replace(" ", "_", $theme));
     $Root = getcwd() . '/themes';
     $themeDir = "{$Root}/{$theme}";
     $create = new ClutchCli();
     $output = new ConsoleOutput();
     $output->setFormatter(new OutputFormatter(true));
     $rows = 8;
     $progressBar = new ProgressBar($output, $rows);
     $progressBar->setFormat(' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s% %memory:6s%');
     $progressBar->setBarCharacter('<fg=magenta>=</>');
     $progressBar->setProgressCharacter("🏃");
     $progressBar->setOverwrite(true);
     for ($i = 0; $i < $rows; $i++) {
         $create->Components($themeDir, $theme, $htmlfiles, 'data-component', 'components');
         $create->Components($themeDir, $theme, $htmlfiles, 'data-node', 'nodes');
         $create->Components($themeDir, $theme, $htmlfiles, 'data-menu', 'menus');
         $progressBar->advance(2);
         $create->Directory($path, $Root, $themeDir, $theme, $bundlezip);
         $progressBar->advance();
         $vars = array('{{themeName}}' => $theme, '{{themeMachine}}' => $themeMachine, '{{themeDescription}}' => $themeDesc);
         $progressBar->advance();
         $create->ThemeTemplates($themeDir, $theme, $vars);
         $progressBar->advance();
         $create->deleteDirectory($path);
         $progressBar->advance();
         \Drupal::service('theme_handler')->rebuildThemeData();
         $progressBar->advance();
         \Drupal::service('theme_handler')->reset();
         \Drupal::service('theme_handler')->refreshInfo();
         \Drupal::service('theme_handler')->listInfo();
         // $this->getChain()->addCommand('cache:rebuild', ['cache' => 'all']);
         // $this->getChain()->addCommand('clutch:sync', ['theme' => $theme]);
         $progressBar->advance();
         $output->writeln('<comment>' . "\r\n" . 'Your theme ' . $theme . ' is now created.</comment>');
         return true;
     }
     $progressBar->finish();
 }