From d7dcdae7d9f867c722ac20f61cda8d8e8f45e25b Mon Sep 17 00:00:00 2001 From: ThaUnknown Date: Sat, 14 Nov 2020 19:19:50 +0100 Subject: [PATCH] regex improvements, resolve fallback fix --- app/js/animeHandler.js | 5 ++--- app/js/playerHandler.js | 9 +++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/js/animeHandler.js b/app/js/animeHandler.js index b79b400..175f2b4 100644 --- a/app/js/animeHandler.js +++ b/app/js/animeHandler.js @@ -465,8 +465,7 @@ async function resolveName(name, method){ } const nameParseRegex = { - "SubsPlease": /(\[.[^\]]*\]\ ?)?(.+?(?=\ \-\ \d))?(\ \-\ )?(\d+)?(.*)?/i, - "Erai-raws": /(\[.[^\]]*\]\ ?)?(.+?(?=\ \–\ \d))?(\ \–\ )?(\d+)?(.*)?/i, + simple: /(\[.[^\]]*\]\ ?|\(.[^\)]*\)\ ?)?(.+?(?=\ \-\ \d{2,}|\ \–\ \d{2,}))?(\ \-\ |\ \–\ )?(\d{2,})?(.*)?/i, fallback: /((?:\[[^\]]*\])*)?\s*((?:[^\d\[\.](?!S\d))*)?\s*((?:S\d+[^\w\[]*E?)?[\d\-]*)\s*(.*)?/i } let store = JSON.parse(localStorage.getItem("store")) || {}, @@ -487,7 +486,7 @@ async function releasesRss() { let items = doc.querySelectorAll("item") for (let item of items) { let i = item.querySelector.bind(item), - regexParse = (nameParseRegex[torrent4.options[torrent4.selectedIndex].text] || nameParseRegex.fallback).exec(i("title").textContent) + regexParse = nameParseRegex.simple.exec(i("title").textContent) let media = await resolveName(regexParse[2], "SearchReleasesSingle"), template = cardCreator(media, regexParse) template.onclick = () => { diff --git a/app/js/playerHandler.js b/app/js/playerHandler.js index c1b8586..d98e7dc 100644 --- a/app/js/playerHandler.js +++ b/app/js/playerHandler.js @@ -125,15 +125,16 @@ async function buildVideo(file, nowPlaying) { if (nowPlaying) { playerData.nowPlaying = nowPlaying } else if (settings.torrent7) { - let regexParse = nameParseRegex.fallback.exec(file.name) - playerData.nowPlaying = [await resolveName(regexParse[2], "SearchAnySingle"), regexParse[3]] + let regexParse = nameParseRegex.simple.exec(file.name) + playerData.nowPlaying = [await resolveName(regexParse[2], "SearchAnySingle"), regexParse[4]] + console.log(regexParse) } if (playerData.nowPlaying && playerData.nowPlaying[0] && parseInt(playerData.nowPlaying[1]) >= playerData.nowPlaying[0].episodes) { bnext.setAttribute("disabled", "") } else { bnext.removeAttribute("disabled") } - if (playerData.nowPlaying && playerData.nowPlaying[0].streamingEpisodes.length == parseInt(playerData.nowPlaying[1])) { + if (playerData.nowPlaying && playerData.nowPlaying[0] && playerData.nowPlaying[0].streamingEpisodes.length == parseInt(playerData.nowPlaying[1])) { nowPlayingDisplay.textContent = `EP ${parseInt(playerData.nowPlaying[1])}${playerData.nowPlaying[0].streamingEpisodes.length ? " - " + episodeRx.exec(playerData.nowPlaying[0].streamingEpisodes.filter(episode => episodeRx.exec(episode.title)[1] == parseInt(playerData.nowPlaying[1]))[0].title)[2] : ""}` } else if (playerData.nowPlaying && playerData.nowPlaying[1]) { nowPlayingDisplay.textContent = `EP ${parseInt(playerData.nowPlaying[1])}` @@ -268,7 +269,7 @@ function finishThumbnails(file) { function downloadFile(file) { dl.removeAttribute("disabled") dl.onclick = async (e) => { - await file.getBlobURL((err, url) => { + file.getBlobURL((err, url) => { let a = document.createElement('a'); a.download = file.name; a.href = url;