From 16d9f7da2ea990ab2a8e5a46baa19019ada0cdbb Mon Sep 17 00:00:00 2001 From: TheBeastLT Date: Tue, 26 Jan 2021 23:27:04 +0100 Subject: [PATCH] [scraper] fixes anime specials imdb mapping --- scraper/lib/metadata.js | 2 +- scraper/lib/torrentFiles.js | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scraper/lib/metadata.js b/scraper/lib/metadata.js index 5ff6f64..0de2cbf 100644 --- a/scraper/lib/metadata.js +++ b/scraper/lib/metadata.js @@ -45,7 +45,7 @@ function _requestMetadata(url) { genres: body.meta.genres, status: body.meta.status, videos: (body.meta.videos || []) - .map((video) => video.imdbSeason + .map((video) => Number.isInteger(video.imdbSeason) ? { name: video.name || video.title, season: video.season, diff --git a/scraper/lib/torrentFiles.js b/scraper/lib/torrentFiles.js index 1c6cc18..84989e5 100644 --- a/scraper/lib/torrentFiles.js +++ b/scraper/lib/torrentFiles.js @@ -375,16 +375,17 @@ function assignKitsuOrImdbEpisodes(torrent, files, metadata) { return map; }, {}); - if (metadata.videos.some(video => video.imdbSeason) || !metadata.imdbId) { + if (metadata.videos.some(video => Number.isInteger(video.imdbSeason)) || !metadata.imdbId) { // kitsu episode info is the base files .filter(file => Number.isInteger(file.season) && file.episodes) .map(file => { const seasonMapping = seriesMapping[file.season]; + const episodeMapping = seasonMapping && seasonMapping[file.episodes[0]]; file.kitsuEpisodes = file.episodes; - if (seasonMapping && seasonMapping[file.episodes[0]] && seasonMapping[file.episodes[0]].imdbSeason) { + if (episodeMapping && Number.isInteger(episodeMapping.imdbSeason)) { file.imdbId = metadata.imdbId; - file.season = seasonMapping[file.episodes[0]].imdbSeason; + file.season = episodeMapping.imdbSeason; file.episodes = file.episodes.map(ep => seasonMapping[ep] && seasonMapping[ep].imdbEpisode); } else { // no imdb mapping available for episode