<?php require_once realpath(dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR . 'indexer.php'); use nzedb\processing\tv\TraktTv; $c = new nzedb\ColorCLI(); $trakt = new TraktTv(); if (!empty($argv[1]) && is_numeric($argv[2]) && is_numeric($argv[3])) { // Test if your Trakt API key and configuration are working // If it works you should get a printed array of the show/season/episode entered // Search for a show $series = $trakt->client->showSearch((string) $argv[1], 'show'); // Use the first show found (highest match) and get the requested season/episode from $argv if (is_array($series)) { $episode = $trakt->client->episodeSummary((int) $series[0]['show']['ids']['trakt'], (int) $argv[2], (int) $argv[3], 'full'); print_r($series[0]); print_r($episode); } else { exit($c->error("Error retrieving Trakt data.")); } } else { exit($c->error("Invalid arguments. This script requires a text string (show name) followed by a season and episode number.")); }
$episode = (int) $argv[3]; $serverTime = $tvdb->client->getServerTime(); // Search for a show $series = $tvdb->client->getSeries((string) $argv[1]); // Use the first show found (highest match) and get the requested season/episode from $argv if ($series) { echo PHP_EOL . $c->info("Server Time: " . $serverTime) . PHP_EOL; print_r($series[0]); if ($season > 0 and $episode > 0) { $episodeObj = $tvdb->client->getEpisode($series[0]->id, $season, $episode, 'en'); if ($episodeObj) { print_r($episodeObj); } } else { if ($season == 0 && $episode == 0) { $episodeObj = $tvdb->client->getSerieEpisodes($series[0]->id, 'en'); if ($episodeObj['episodes'] instanceof \Traversable) { foreach ($episodeObj['episodes'] as $ep) { print_r($ep); } } } else { exit($c->error("Invalid episode data returned from TVDB API.")); } } } else { exit($c->error("Invalid show data returned from TVDB API.")); } } else { exit($c->error("Invalid arguments. This script requires a text string (show name) followed by a season and episode number.")); }
print_r($series[0]); if ($season > 0 && $episode > 0 && $day === '') { $episodeObj = $tvdb->client->getEpisode($series[0]->id, $season, $episode, 'en'); if ($episodeObj) { print_r($episodeObj); } } else { if ($season == 0 && $episode == 0) { $episodeObj = $tvdb->client->getSerieEpisodes($series[0]->id, 'en'); if (is_array($episodeObj['episodes'])) { foreach ($episodeObj['episodes'] as $ep) { print_r($ep); } } } else { if (preg_match('#^(19|20)\\d{2}\\/\\d{2}\\/\\d{2}$#', $season . '/' . $episode . '/' . $day, $airdate)) { $episodeObj = $tvdb->client->getEpisodeByAirDate($series[0]->id, (string) $airdate[0], 'en'); if ($episodeObj) { print_r($episodeObj); } } else { exit($c->error("Invalid episode data returned from TVDB API.")); } } } } else { exit($c->error("Invalid show data returned from TVDB API.")); } } else { exit($c->error("Invalid arguments. This script requires a text string (show name) followed by a season and episode number." . PHP_EOL . "You can also optionally supply 'YYYY' 'MM' 'DD' arguments instead of season/episode for an airdate lookup.")); }