/** * @param InputInterface $input * @param OutputInterface $output * * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { $this->input = $input; $this->output = $output; $this->printer->setOutput($output); $city = $input->getOption('city'); $euroTop = $input->getOption('euroTop'); $usTop = $input->getOption('usTop'); $geonamesCount = $input->getOption('geonamesCount'); $geonames = array(); if ($city) { $geonames[] = $this->entityManager->find(Geoname::CLASS_NAME, $city); } if ($euroTop) { $geonames = $this->geonameRepository->findEuroTop($geonamesCount); } if ($usTop) { $geonames = $this->geonameRepository->findUsTop($geonamesCount); } $geonames = $this->applyOffset($geonames); foreach ($geonames as $geoname) { $this->printer->writelnEntityShort($geoname); $this->importCity($geoname); } }