regex improvements, resolve fallback fix

This commit is contained in:
ThaUnknown 2020-11-14 19:19:50 +01:00
parent fb6e5183bb
commit d7dcdae7d9
2 changed files with 7 additions and 7 deletions

View file

@ -465,8 +465,7 @@ async function resolveName(name, method){
} }
const nameParseRegex = { const nameParseRegex = {
"SubsPlease": /(\[.[^\]]*\]\ ?)?(.+?(?=\ \-\ \d))?(\ \-\ )?(\d+)?(.*)?/i, simple: /(\[.[^\]]*\]\ ?|\(.[^\)]*\)\ ?)?(.+?(?=\ \-\ \d{2,}|\ \\ \d{2,}))?(\ \-\ |\ \\ )?(\d{2,})?(.*)?/i,
"Erai-raws": /(\[.[^\]]*\]\ ?)?(.+?(?=\ \\ \d))?(\ \\ )?(\d+)?(.*)?/i,
fallback: /((?:\[[^\]]*\])*)?\s*((?:[^\d\[\.](?!S\d))*)?\s*((?:S\d+[^\w\[]*E?)?[\d\-]*)\s*(.*)?/i fallback: /((?:\[[^\]]*\])*)?\s*((?:[^\d\[\.](?!S\d))*)?\s*((?:S\d+[^\w\[]*E?)?[\d\-]*)\s*(.*)?/i
} }
let store = JSON.parse(localStorage.getItem("store")) || {}, let store = JSON.parse(localStorage.getItem("store")) || {},
@ -487,7 +486,7 @@ async function releasesRss() {
let items = doc.querySelectorAll("item") let items = doc.querySelectorAll("item")
for (let item of items) { for (let item of items) {
let i = item.querySelector.bind(item), 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"), let media = await resolveName(regexParse[2], "SearchReleasesSingle"),
template = cardCreator(media, regexParse) template = cardCreator(media, regexParse)
template.onclick = () => { template.onclick = () => {

View file

@ -125,15 +125,16 @@ async function buildVideo(file, nowPlaying) {
if (nowPlaying) { if (nowPlaying) {
playerData.nowPlaying = nowPlaying playerData.nowPlaying = nowPlaying
} else if (settings.torrent7) { } else if (settings.torrent7) {
let regexParse = nameParseRegex.fallback.exec(file.name) let regexParse = nameParseRegex.simple.exec(file.name)
playerData.nowPlaying = [await resolveName(regexParse[2], "SearchAnySingle"), regexParse[3]] 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) { if (playerData.nowPlaying && playerData.nowPlaying[0] && parseInt(playerData.nowPlaying[1]) >= playerData.nowPlaying[0].episodes) {
bnext.setAttribute("disabled", "") bnext.setAttribute("disabled", "")
} else { } else {
bnext.removeAttribute("disabled") 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] : ""}` 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]) { } else if (playerData.nowPlaying && playerData.nowPlaying[1]) {
nowPlayingDisplay.textContent = `EP ${parseInt(playerData.nowPlaying[1])}` nowPlayingDisplay.textContent = `EP ${parseInt(playerData.nowPlaying[1])}`
@ -268,7 +269,7 @@ function finishThumbnails(file) {
function downloadFile(file) { function downloadFile(file) {
dl.removeAttribute("disabled") dl.removeAttribute("disabled")
dl.onclick = async (e) => { dl.onclick = async (e) => {
await file.getBlobURL((err, url) => { file.getBlobURL((err, url) => {
let a = document.createElement('a'); let a = document.createElement('a');
a.download = file.name; a.download = file.name;
a.href = url; a.href = url;