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 = {
"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 = () => {

View file

@ -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;