diff --git a/src/Command/BenzinaPumpCommand.php b/src/Command/BenzinaPumpCommand.php new file mode 100644 index 0000000..dbf706f --- /dev/null +++ b/src/Command/BenzinaPumpCommand.php @@ -0,0 +1,61 @@ +addArgument('database', InputArgument::REQUIRED); + $this->addArgument('table', InputArgument::REQUIRED); + } + + protected function execute(InputInterface $input, OutputInterface $output): int + { + $io = new SymfonyStyle($input, $output); + + $stream = new PdoStream($input->getArgument('database'), $input->getArgument('table')); + $pumps = $this->benzina->getPumps($stream); + + $progress = $io->createProgressBar(); + $progress->start($stream->size()); + + while (!$stream->eof()) { + $data = $stream->read(); + + foreach ($pumps as $pump) { + $pump->process($data); + } + + $progress->setProgress($stream->tell()); + } + + $stream->close(); + $progress->finish(); + + return Command::SUCCESS; + } +}