From deb033363597a78722cb4ae999166c80b19fc139 Mon Sep 17 00:00:00 2001 From: Brock H Caldwell Date: Thu, 18 Sep 2025 18:58:43 -0500 Subject: [PATCH] fix: tmdb episode details failing from missing imdb id --- src/Monitor/Action/Handler/MonitorTvEpisodeHandler.php | 2 +- src/Tmdb/TmdbClient.php | 4 ++-- src/Torrentio/Action/Handler/GetTvShowOptionsHandler.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Monitor/Action/Handler/MonitorTvEpisodeHandler.php b/src/Monitor/Action/Handler/MonitorTvEpisodeHandler.php index e139164..7aa8940 100644 --- a/src/Monitor/Action/Handler/MonitorTvEpisodeHandler.php +++ b/src/Monitor/Action/Handler/MonitorTvEpisodeHandler.php @@ -42,7 +42,7 @@ readonly class MonitorTvEpisodeHandler implements HandlerInterface $monitor = $this->monitorRepository->find($command->movieMonitorId); $this->logger->info('> [MonitorTvEpisodeHandler] Executing MonitorTvEpisodeHandler for ' . $monitor->getTitle() . ' season ' . $monitor->getSeason() . ' episode ' . $monitor->getEpisode()); - $episodeData = $this->tmdb->tvEpisodeDetails($monitor->getTmdbId(), $monitor->getSeason(), $monitor->getEpisode()); + $episodeData = $this->tmdb->tvEpisodeDetails($monitor->getTmdbId(), $monitor->getImdbId(), $monitor->getSeason(), $monitor->getEpisode()); if (null === $monitor->getAirDate() && null !== $episodeData->episodeAirDate && "" !== $episodeData->episodeAirDate) { $monitor->setAirDate(Carbon::parse($episodeData->episodeAirDate)); diff --git a/src/Tmdb/TmdbClient.php b/src/Tmdb/TmdbClient.php index 2ac9215..945ea51 100644 --- a/src/Tmdb/TmdbClient.php +++ b/src/Tmdb/TmdbClient.php @@ -170,13 +170,13 @@ class TmdbClient return $result; } - public function tvEpisodeDetails(string $tmdbId, int $season, int $episode): TmdbResult|TmdbEpisodeDto|null + public function tvEpisodeDetails(string $tmdbId, string $showImdbId, int $season, int $episode): TmdbResult|TmdbEpisodeDto|null { $result = $this->tvEpisodeRepository->getApi()->getEpisode($tmdbId, $season, $episode, ['append_to_response' => 'external_ids,credits']); return $this->parseResult( $result, MediaType::TvEpisode->value, - $result['external_ids']['imdb_id'] + $showImdbId ); } diff --git a/src/Torrentio/Action/Handler/GetTvShowOptionsHandler.php b/src/Torrentio/Action/Handler/GetTvShowOptionsHandler.php index 5da3e2d..4d0a482 100644 --- a/src/Torrentio/Action/Handler/GetTvShowOptionsHandler.php +++ b/src/Torrentio/Action/Handler/GetTvShowOptionsHandler.php @@ -24,7 +24,7 @@ class GetTvShowOptionsHandler implements HandlerInterface public function handle(CommandInterface $command): ResultInterface { - $media = $this->tmdb->tvEpisodeDetails($command->tmdbId, $command->season, $command->episode); + $media = $this->tmdb->tvEpisodeDetails($command->tmdbId, $command->imdbId, $command->season, $command->episode); $parentShow = $this->tmdb->tvshowDetails($command->imdbId); $file = $this->mediaFiles->episodeExists($parentShow->title, $command->season, $command->episode);