ImportCommand   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 32
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A configure() 0 7 1
A execute() 0 7 1
A getOutputMessageForImportResults() 0 13 1
1
<?php
2
3
namespace Backend\Modules\MediaLibraryImporter\Console;
4
5
use Backend\Modules\MediaLibraryImporter\Component\ImportResults;
6
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
7
use Symfony\Component\Console\Input\InputInterface;
8
use Symfony\Component\Console\Output\OutputInterface;
9
10
/**
11
 * Import media library items
12
 * Example: "app/console media_library:import"
13
 */
14
class ImportCommand extends ContainerAwareCommand
15
{
16
    protected function configure(): void
17
    {
18
        $this
19
            ->setName('media_library:import')
20
            ->setDescription('Import all mediaItemImport items which can be imported.')
21
        ;
22
    }
23
24
    protected function execute(InputInterface $input, OutputInterface $output): void
25
    {
26
        $output->writeln('<info>Starting the MediaLibrary import.</info>');
27
        $output->writeln($this->getOutputMessageForImportResults(
28
            $this->getContainer()->get('media_library.helper.import')->execute()
29
        ));
30
    }
31
32
    private function getOutputMessageForImportResults(ImportResults $importResults): string
33
    {
34
        $message = '<info>[OK] Import of "' . $importResults->getNumberOfQueuedItems() . '" MediaItems finished.';
35
        $message .= "\n\nMediaItemImport changes:\n";
36
        $message .= '- Successful: ' . $importResults->getNumberOfSuccessfulImports();
37
        $message .= "\n";
38
        $message .= '- Errors: ' . $importResults->getNumberOfErrorImports();
39
        $message .= "\nDatabase changes:\n";
40
        $message .= '- Imported: ' . $importResults->getNumberOfImportedItems();
41
        $message .= '</info>';
42
43
        return $message;
44
    }
45
}
46