From bd81db3a64549f4b2da41b5e9b18663cb0b4de4c Mon Sep 17 00:00:00 2001 From: DariusIII Date: Thu, 5 Nov 2015 12:44:48 +0100 Subject: [PATCH] Update TMDB and Trakt TV processing --- Changelog | 2 ++ newznab/processing/PostProcess.php | 4 ++- newznab/processing/tv/TMDB.php | 45 +++++++++++++++++------------- newznab/processing/tv/TraktTv.php | 29 ++++++++++++------- 4 files changed, 50 insertions(+), 30 deletions(-) diff --git a/Changelog b/Changelog index 01aa8f9a0..5ca354638 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,6 @@ 2015-11-05 DariusIII + Upd: Add Trakt to processing + Fix: Change some variables in TMDB and TRAKT Fix: Fix ADM processing 2015-11-04 DariusIII Upd: Change countries table diff --git a/newznab/processing/PostProcess.php b/newznab/processing/PostProcess.php index af86a4877..e9f8fe168 100755 --- a/newznab/processing/PostProcess.php +++ b/newznab/processing/PostProcess.php @@ -11,11 +11,12 @@ use newznab\Movie; use newznab\Music; use newznab\NameFixer; use newznab\Nfo; -use newznab\processing\tv\TMDB; use newznab\Sharing; //use newznab\processing\tv\TvRage; use newznab\processing\tv\TVDB; use newznab\processing\tv\TVMaze; +use newznab\processing\tv\TMDB; +use newznab\processing\tv\TraktTv; use newznab\XXX; use newznab\ReleaseFiles; use newznab\db\Settings; @@ -263,6 +264,7 @@ class PostProcess (new TVDB(['Echo' => $this->echooutput, 'Settings' => $this->pdo]))->processTVDB($groupID, $guidChar, $processTV); (new TVMaze(['Echo' => $this->echooutput, 'Settings' => $this->pdo]))->processTVMaze($groupID, $guidChar, $processTV); (new TMDB(['Echo' => $this->echooutput, 'Settings' => $this->pdo]))->processTMDB($groupID, $guidChar, $processTV); + (new TraktTv(['Echo' => $this->echooutput, 'Settings' => $this->pdo]))->processTrakt($groupID, $guidChar, $processTV); //(new TvRage(['Echo' => $this->echooutput, 'Settings' => $this->pdo]))->processTvRage($groupID, $guidChar, $processTV); } } diff --git a/newznab/processing/tv/TMDB.php b/newznab/processing/tv/TMDB.php index ef383786d..cd54b1823 100644 --- a/newznab/processing/tv/TMDB.php +++ b/newznab/processing/tv/TMDB.php @@ -8,13 +8,19 @@ class TMDB extends TV { const MATCH_PROBABILITY = 75; - /** - * @var string The URL for the medium sized image for poster - */ - private $posterUrl; /** - * Construct. Instanciate TMDB Class + * @string DateTimeZone Object - UTC + */ + private $timeZone; + + /** + * @string MySQL DATETIME Format + */ + private $timeFormat; + + /** + * Construct. Instantiate TMDB Class * * @param array $options Class instances. * @@ -24,6 +30,8 @@ class TMDB extends TV { parent::__construct($options); $this->client = new TmdbAPI($this->pdo->getSetting('tmdbkey')); + $this->timeZone = new \DateTimeZone('UTC'); + $this->timeFormat = 'Y-m-d H:i:s'; } /** @@ -332,20 +340,19 @@ class TMDB extends TV $this->posterUrl = (string)(isset($show->_data['poster_path']) ? $show->_data['poster_path'] : ''); return [ - 'tmdbid' => (int)$show->_data['id'], - 'column' => 'tmdb', - 'siteid' => (int)$show->_data['id'], - 'title' => (string)$show->_data['name'], - 'summary' => (string)$show->_data['overview'], - 'started' => (string)$show->_data['first_air_date'], - 'publisher' => (string)$show->_data['networks']->name, - 'country' => (string)$show->_data['origin_country'], - 'source' => (int)parent::SOURCE_TMDB, - 'imdbid' => 0, - 'tvdbid' => 0, - 'traktid' => 0, - 'tvrageid' => 0, - 'tvmazeid' => 0 + 'type' => (int)parent::TYPE_TV, + 'title' => (string)$show->_data['name'], + 'summary' => (string)$show->_data['overview'], + 'started' => (string)$show->_data['first_air_date'], + 'publisher' => (string)$show->_data['networks']->name, + 'source' => (int)parent::SOURCE_TMDB, + 'imdb' => 0, + 'tvdb' => 0, + 'trakt' => 0, + 'tvrage' => 0, + 'tvmaze' => 0, + 'tmdb' => (int)$show->_data['id'], + 'aliases' => (!empty($show->aliasNames) ? (array)$show->aliasNames : '') ]; } diff --git a/newznab/processing/tv/TraktTv.php b/newznab/processing/tv/TraktTv.php index bc74cf0b3..c6a2cb4e5 100644 --- a/newznab/processing/tv/TraktTv.php +++ b/newznab/processing/tv/TraktTv.php @@ -20,6 +20,16 @@ class TraktTv extends TV */ public $client; + /** + * @string DateTimeZone Object - UTC + */ + private $timeZone; + + /** + * @string MySQL DATETIME Format + */ + private $timeFormat; + /** * Construct. Set up API key. * @@ -134,8 +144,7 @@ class TraktTv extends TV $traktEpisode = $this->getEpisodeInfo( $traktid, $seasonNo, - $episodeNo, - $release['airdate'] + $episodeNo ); if ($traktEpisode) { @@ -317,21 +326,21 @@ class TraktTv extends TV private function formatShowArr($show) { $show->firstAired->setTimezone($this->timeZone); - preg_match('/tt(?P\d{6,7})$/i', $show->imdbId, $imdb); + preg_match('/tt(?P\d{6,7})$/i', $show->ids->imdb, $imdb); return [ 'type' => (int)parent::TYPE_TV, - 'title' => (string)$show->name, + 'title' => (string)$show->title, 'summary' => (string)$show->overview, - 'started' => (string)$show->firstAired->format($this->timeFormat), + 'started' => (string)$show->first_aired->format($this->timeFormat), 'publisher' => (string)$show->network, 'source' => (int)parent::SOURCE_TRAKT, 'imdb' => (int)(isset($imdb['imdbid']) ? $imdb['imdbid'] : 0), 'tvdb' => 0, - 'trakt' => (int)$show->id, - 'tvrage' => (int)(isset($tvrage['tvaregid']) ? $tvrage['tvrageid'] : 0), + 'trakt' => (int)$show->ids->trakt, + 'tvrage' => (int)(isset($show->ids->tvrage) ? $show->ids->tvrage : 0), 'tvmaze' => 0, - 'tmdb' => (int)(isset($tmdb['tmdbid']) ? $tmdb['tmdbid'] : 0), + 'tmdb' => (int)(isset($show->ids->tmdb) ? $show->ids->tmdb : 0), 'aliases' => (!empty($show->aliasNames) ? (array)$show->aliasNames : '') ]; } @@ -349,11 +358,11 @@ class TraktTv extends TV $episode->firstAired->setTimezone($this->timeZone); return [ - 'title' => (string)$episode->name, + 'title' => (string)$episode->title, 'series' => (int)$episode->season, 'episode' => (int)$episode->number, 'se_complete' => (string)'S' . sprintf('%02d', $episode->season) . 'E' . sprintf('%02d', $episode->number), - 'firstaired' => (string)$episode->firstAired->format($this->timeFormat), + 'firstaired' => (string)$episode->first_aired->format($this->timeFormat), 'summary' => (string)$episode->overview ]; }