do not check is season outside meta seasons for non anime

This commit is contained in:
TheBeastLT
2022-02-10 21:53:49 +01:00
parent c8f25b3089
commit 085b654d10

View File

@@ -187,7 +187,7 @@ async function decomposeEpisodes(torrent, files, metadata = { episodeCount: [] }
decomposeConcatSeasonAndEpisodeFiles(torrent, files, metadata); decomposeConcatSeasonAndEpisodeFiles(torrent, files, metadata);
} else if (isDateEpisodeFiles(files, metadata)) { } else if (isDateEpisodeFiles(files, metadata)) {
decomposeDateEpisodeFiles(torrent, files, metadata); decomposeDateEpisodeFiles(torrent, files, metadata);
} else if (isAbsoluteEpisodeFiles(files, metadata)) { } else if (isAbsoluteEpisodeFiles(torrent, files, metadata)) {
decomposeAbsoluteEpisodeFiles(torrent, files, metadata); decomposeAbsoluteEpisodeFiles(torrent, files, metadata);
} }
// decomposeEpisodeTitleFiles(torrent, files, metadata); // decomposeEpisodeTitleFiles(torrent, files, metadata);
@@ -237,14 +237,16 @@ function isDateEpisodeFiles(files, metadata) {
return files.every(file => (!file.season || !metadata.episodeCount[file.season - 1]) && file.date); return files.every(file => (!file.season || !metadata.episodeCount[file.season - 1]) && file.date);
} }
function isAbsoluteEpisodeFiles(files, metadata) { function isAbsoluteEpisodeFiles(torrent, files, metadata) {
const threshold = Math.ceil(files.length / 5); const threshold = Math.ceil(files.length / 5);
const isAnime = torrent.type === Type.ANIME && torrent.kitsuId;
const nonMovieEpisodes = files const nonMovieEpisodes = files
.filter(file => !file.isMovie && file.episodes); .filter(file => !file.isMovie && file.episodes);
const absoluteEpisodes = files const absoluteEpisodes = files
.filter(file => file.season && file.episodes) .filter(file => file.season && file.episodes)
.filter(file => file.episodes.every(ep => metadata.episodeCount[file.season - 1] < ep)) .filter(file => file.episodes.every(ep => metadata.episodeCount[file.season - 1] < ep))
return nonMovieEpisodes.every(file => !file.season || file.season > metadata.episodeCount.length) return nonMovieEpisodes.every(file => !file.season)
|| (isAnime && nonMovieEpisodes.every(file => file.season > metadata.episodeCount.length))
|| absoluteEpisodes.length >= threshold || absoluteEpisodes.length >= threshold
// && !isNewEpisodesNotInMetadata(files, metadata); // && !isNewEpisodesNotInMetadata(files, metadata);
} }