fix: releases breaking on finished anime

This commit is contained in:
ThaUnknown 2022-04-04 10:56:51 +02:00
parent 8e40e85b33
commit a3d4698d34
2 changed files with 5 additions and 4 deletions

View file

@ -1,6 +1,6 @@
{
"name": "Miru",
"version": "1.0.2",
"version": "1.0.3",
"author": "ThaUnknown_ <ThaUnknown@users.noreply.github.com>",
"main": "src/index.js",
"homepage": "https://github.com/ThaUnknown/miru#readme",

View file

@ -121,14 +121,15 @@ export async function resolveFileMedia (opts) {
let episode
let media = assoc[relations[praseObj.anime_title]]
// resolve episode, if movie, dont.
if ((media?.format !== 'MOVIE' || (media.episodes || media.nextAiringEpisode?.episode)) && praseObj.episode_number) {
const maxep = media.nextAiringEpisode?.episode || media.episodes
if ((media?.format !== 'MOVIE' || maxep) && praseObj.episode_number) {
if (praseObj.episode_number.constructor === Array) {
// is an episode range
if (parseInt(praseObj.episode_number[0]) === 1) {
// if it starts with #1 and overflows then it includes more than 1 season in a batch, cant fix this cleanly, name is parsed per file basis so this shouldnt be an issue
episode = `${praseObj.episode_number[0]} ~ ${praseObj.episode_number[1]}`
} else {
if ((media?.nextAiringEpisode?.episode || media.episodes) && parseInt(praseObj.episode_number[1]) > (media.nextAiringEpisode.episode || media.episodes)) {
if (maxep && parseInt(praseObj.episode_number[1]) > maxep) {
// if highest value is bigger than episode count or latest streamed episode +1 for safety, parseint to math.floor a number like 12.5 - specials - in 1 go
const result = await resolveSeason({ media, episode: praseObj.episode_number[1] })
media = result.rootMedia
@ -140,7 +141,7 @@ export async function resolveFileMedia (opts) {
}
}
} else {
if ((media?.episodes || media?.nextAiringEpisode?.episode) && parseInt(praseObj.episode_number) > (media.episodes || media.nextAiringEpisode.episode)) {
if (maxep && parseInt(praseObj.episode_number) > maxep) {
// value bigger than episode count
const result = await resolveSeason({ media, episode: parseInt(praseObj.episode_number) })
media = result.rootMedia