This commit is contained in:
ThaUnknown 2022-03-13 17:58:46 +01:00
parent 3e726b2b5b
commit cbc8de01d6
3 changed files with 11 additions and 11 deletions

View file

@ -45,6 +45,8 @@
let table = null
let fileMedia = null
export async function parseRss({ media, episode }) {
if (!media) return
const titles = [
@ -82,7 +84,7 @@
}
entries.sort((a, b) => b.seeders - a.seeders)
const streamingEpisode = media?.streamingEpisodes.filter(episode => episodeRx.exec(episode.title) && Number(episodeRx.exec(episode.title)[1]) === Number(episode))[0]
const fileMedia = {
fileMedia = {
mediaTitle: media?.title.userPreferred,
episodeNumber: Number(episode),
episodeTitle: streamingEpisode ? episodeRx.exec(streamingEpisode.title)[2] : undefined,
@ -91,8 +93,8 @@
name: 'Miru',
media: media
}
updateMedia(fileMedia)
if (settings.rssAutoplay) {
updateMedia(fileMedia)
add(entries[0].link)
} else {
table = entries
@ -102,6 +104,7 @@
table = null
}
function play(link) {
updateMedia(fileMedia)
add(link)
table = null
}

View file

@ -7,12 +7,10 @@
import { alRequest } from '@/modules/anilist.js'
import { resolveFileMedia, relations } from '@/modules/anime.js'
import { getRSSContent, getRSSurl } from '@/lib/RSSView.svelte'
import { set } from '../Settings.svelte'
let media = null
let search
const settings = set
function processMedia(res) {
return res.data.Page.media.map(media => {
@ -36,7 +34,6 @@
media.forEach((mediaInformation, index) => {
mediaInformation.onclick = () => {
add(items[index].querySelector('link').textContent)
// { media: mediaInformation, episode: mediaInformation.episode }
}
})
localStorage.setItem('relations', JSON.stringify(relations))

View file

@ -186,25 +186,25 @@ export async function resolveFileMedia (opts) {
// resolve episode, if movie, dont.
if ((media?.format !== 'MOVIE' || (media.episodes || media.nextAiringEpisode.episode)) && praseObj.episode_number) {
if (praseObj.episode_number.constructor === Array) {
// is an episode range
// 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
// 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[praseObj.episode_number.length - 1]}`
} else {
if ((media?.episodes || media?.nextAiringEpisode?.episode) && parseInt(praseObj.episode_number[praseObj.episode_number.length - 1]) > (media.episodes || media.nextAiringEpisode.episode)) {
// 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
// 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
await resolveSeason({ media: media, episode: praseObj.episode_number, offset: 0 })
} else {
// cant find ep count or range seems fine
// cant find ep count or range seems fine
episode = `${Number(praseObj.episode_number[0])} ~ ${Number(praseObj.episode_number[praseObj.episode_number.length - 1])}`
}
}
} else {
if ((media?.episodes || media?.nextAiringEpisode?.episode) && parseInt(praseObj.episode_number) > (media.episodes || media.nextAiringEpisode.episode)) {
// value bigger than episode count
// value bigger than episode count
await resolveSeason({ media: media, episode: praseObj.episode_number, offset: 0 })
} else {
// cant find ep count or episode seems fine
// cant find ep count or episode seems fine
episode = Number(praseObj.episode_number)
}
}