protected function execute(InputInterface $input, OutputInterface $output) { $artistQuery = new ArtistQuery($this->getContainer()->get('doctrine_mongodb')->getManager()); $youtubeSearch = $this->getContainer()->get('youtubeSearch'); $artists = $artistQuery->notProcessed()->setLimit(5)->getList(); foreach ($artists as $artist) { if ($artist->getName() != '[unknown]') { if (count($artist->getAlbums())) { foreach ($artist->getAlbums() as $album) { foreach ($album->getTracks() as $track) { $result = $youtubeSearch->setQuery($artist->getName() . ' - ' . $track->getName())->getResults(); if (isset($result->items)) { foreach ($result->items as $item) { if (strpos(strtolower($item->snippet->title), strtolower($track->getName()))) { $output->writeln($item->id->videoId . ' ' . $artist->getName() . ' ' . $track->getName()); $track->setYoutubeId($item->id->videoId); if ($this->hasNoInvalidateWords($item->snippet->title, $track->getName())) { break; } } } } } } } else { $artist->setDisabled(); } } $artist->setProcessed(); $artistQuery->persist($artist); } }