use relations for anime name resolving

This commit is contained in:
ThaUnknown 2021-04-23 22:33:12 +02:00
parent 9f7efce30e
commit aba08797df
4 changed files with 21 additions and 17 deletions

View file

@ -237,7 +237,7 @@
</span> </span>
</div> </div>
</section> </section>
<section id="home" class="flex-column overflow-y-auto"> <section id="home" class="flex-column overflow-y-scroll">
<div class="h-full py-10"> <div class="h-full py-10">
<div class="container-fluid row p-20" id="searchWrapper"> <div class="container-fluid row p-20" id="searchWrapper">
<div class="col-lg col-3 p-10 d-flex flex-column justify-content-end"> <div class="col-lg col-3 p-10 d-flex flex-column justify-content-end">

View file

@ -206,7 +206,6 @@ query ($id: Int, $mediaId: Int){
date.setHours(0, 0, 0, 0) date.setHours(0, 0, 0, 0)
variables.from = date.getTime() / 1000 variables.from = date.getTime() / 1000
variables.to = (date.getTime() + 7 * 24 * 60 * 60 * 1000) / 1000 variables.to = (date.getTime() + 7 * 24 * 60 * 60 * 1000) / 1000
console.log(variables)
query = ` query = `
query ($page: Int, $perPage: Int, $from: Int, $to: Int) { query ($page: Int, $perPage: Int, $from: Int, $to: Int) {
Page (page: $page, perPage: $perPage) { Page (page: $page, perPage: $perPage) {
@ -377,9 +376,9 @@ function viewAnime (media) {
viewRelationsGallery.classList.add('d-none') viewRelationsGallery.classList.add('d-none')
} }
viewSynonym.onclick = () => { viewSynonym.onclick = () => {
store[viewSynonymText.value] = media relations[viewSynonymText.value] = media.id
viewSynonymText.value = '' viewSynonymText.value = ''
localStorage.setItem('store', JSON.stringify(store)) localStorage.setItem('relations', JSON.stringify(relations))
} }
episodes.innerHTML = '' episodes.innerHTML = ''
if (media.streamingEpisodes.length) { if (media.streamingEpisodes.length) {
@ -519,7 +518,7 @@ async function resolveFileMedia (opts) {
// opts.fileName opts.method opts.isRelease // opts.fileName opts.method opts.isRelease
const elems = await anitomyscript(opts.fileName) const elems = await anitomyscript(opts.fileName)
if (!store[elems.anime_title]) { if (!relations[elems.anime_title]) {
// resolve name and shit // resolve name and shit
let method, res let method, res
if (opts.isRelease) { if (opts.isRelease) {
@ -535,9 +534,15 @@ async function resolveFileMedia (opts) {
method.status = undefined method.status = undefined
res = await alRequest(method) res = await alRequest(method)
} }
if (res.data.Page.media[0]) store[elems.anime_title] = res.data.Page.media[0] if (res.data.Page.media[0]) {
relations[elems.anime_title] = res.data.Page.media[0].id
store[res.data.Page.media[0].id] = res.data.Page.media[0]
}
} }
let episode; let media = store[elems.anime_title] if (!store[relations[elems.anime_title]] && relations[elems.anime_title]) {
store[relations[elems.anime_title]] = (await alRequest({ method: 'SearchIDSingle', id: relations[elems.anime_title] })).data.Media
}
let episode; let media = store[relations[elems.anime_title]]
// resolve episode, if movie, dont. // resolve episode, if movie, dont.
if ((media?.format !== 'MOVIE' || (media.episodes || media.nextAiringEpisode.episode)) && elems.episode_number) { if ((media?.format !== 'MOVIE' || (media.episodes || media.nextAiringEpisode.episode)) && elems.episode_number) {
async function resolveSeason (opts) { async function resolveSeason (opts) {
@ -620,8 +625,8 @@ async function resolveFileMedia (opts) {
} }
} }
let store = JSON.parse(localStorage.getItem('store')) || {} const store = {}
store = store || {} const relations = JSON.parse(localStorage.getItem('relations')) || {}
function getRSSurl () { function getRSSurl () {
if (Object.values(torrent4list.options).filter(item => item.value === settings.torrent4)[0]) { if (Object.values(torrent4list.options).filter(item => item.value === settings.torrent4)[0]) {
@ -645,7 +650,7 @@ async function releasesCards (items, limit) {
cards.push(cardCreator(mediaInformation)) cards.push(cardCreator(mediaInformation))
}) })
}) })
localStorage.setItem('store', JSON.stringify(store)) localStorage.setItem('relations', JSON.stringify(relations))
return cards return cards
} }
async function releasesRss (limit) { async function releasesRss (limit) {

View file

@ -86,7 +86,7 @@ async function loadHomePage () {
notification.onclick = async () => { notification.onclick = async () => {
window.parent.focus() window.parent.focus()
client.addTorrent(doc.querySelector('item').querySelector('link').textContent, { media: mediaInformation, episode: mediaInformation.episode }) client.addTorrent(doc.querySelector('item').querySelector('link').textContent, { media: mediaInformation, episode: mediaInformation.episode })
store[mediaInformation.parseObject.anime_title] = await alRequest({ id: mediaInformation.media.id, method: 'SearchIDSingle' }).then(res => res.data.Media) store[relations[mediaInformation.parseObject.anime_title]] = await alRequest({ id: mediaInformation.media.id, method: 'SearchIDSingle' }).then(res => res.data.Media)
} }
} }
}) })
@ -169,6 +169,7 @@ async function loadHomePage () {
media = media.media media = media.media
} }
cards.push(cardCreator({ media: media, schedule: opts.schedule, onclick: () => viewAnime(media) })) cards.push(cardCreator({ media: media, schedule: opts.schedule, onclick: () => viewAnime(media) }))
store[media.id] = media
}) })
opts.gallery.append(...cards) opts.gallery.append(...cards)
canScroll = true canScroll = true

View file

@ -5,7 +5,7 @@ setRes.addEventListener('click', restoreDefaults)
settingsTab.addEventListener('click', applySettingsTimeout) settingsTab.addEventListener('click', applySettingsTimeout)
volume.addEventListener('click', applySettingsTimeout) volume.addEventListener('click', applySettingsTimeout)
regProtButton.addEventListener('click', registerProtocol) regProtButton.addEventListener('click', registerProtocol)
let settings = {} const settings = JSON.parse(localStorage.getItem('settings')) || {}
function restoreDefaults () { function restoreDefaults () {
localStorage.removeItem('settings') localStorage.removeItem('settings')
location.reload() location.reload()
@ -38,15 +38,13 @@ function registerProtocol () {
} }
} }
if (!localStorage.getItem('settings')) { if (!settings) {
saveSettings() saveSettings()
location.reload() location.reload()
} else {
settings = JSON.parse(localStorage.getItem('settings'))
} }
clearRelCache.onclick = () => { clearRelCache.onclick = () => {
localStorage.removeItem('store') localStorage.removeItem('relations')
store = {} relations = {}
} }
renderSettings() renderSettings()