resize = $resize;
$this->appState = $appState;
$this->objectManager = $objectManager;
}
/**
* {@inheritdoc}
*/
protected function configure()
{
$this->setName('catalog:images:resize')
->setDescription('Creates resized product images');
}
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
try {
$this->appState->setAreaCode(Area::AREA_GLOBAL);
$generator = $this->resize->resizeFromThemes();
/** @var ProgressBar $progress */
$progress = $this->objectManager->create(ProgressBar::class, [
'output' => $output,
'max' => $generator->current()
]);
$progress->setFormat(
"%current%/%max% [%bar%] %percent:3s%% %elapsed% %memory:6s% \t| %message%"
);
if ($output->getVerbosity() !== OutputInterface::VERBOSITY_NORMAL) {
$progress->setOverwrite(false);
}
for (; $generator->valid(); $generator->next()) {
$progress->setMessage($generator->key());
$progress->advance();
}
} catch (\Exception $e) {
$output->writeln("{$e->getMessage()}");
// we must have an exit code higher than zero to indicate something was wrong
return \Magento\Framework\Console\Cli::RETURN_FAILURE;
}
$output->write(PHP_EOL);
$output->writeln("Product images resized successfully");
}
}