mirror of
https://github.com/NoCrypt/migu.git
synced 2026-03-29 13:59:09 +00:00
fix: minor filename parsing improvements
This commit is contained in:
parent
a57491a1f5
commit
05a68f2ecc
3 changed files with 32 additions and 12 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Miru",
|
||||
"version": "2.4.2",
|
||||
"version": "2.4.3",
|
||||
"author": "ThaUnknown_ <ThaUnknown@users.noreply.github.com>",
|
||||
"main": "src/index.js",
|
||||
"homepage": "https://github.com/ThaUnknown/miru#readme",
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@
|
|||
const quality = `"${settings.rssQuality}"` || '"1080p"'
|
||||
const trusted = settings.rssTrusted === true ? 2 : 0
|
||||
const url = new URL(
|
||||
`https://${media.isAdult ? 'sukebei.nyaa.si/?page=rss&c=1_1' : 'nyaa.si/?page=rss&c=1_2'}&f=${trusted}&s=seeders&o=desc&q=(${titles})${ep}${quality}-(${excl})`
|
||||
`https://nyaa.si/?page=rss&c=1_2&f=${trusted}&s=seeders&o=desc&q=(${titles})${ep}${quality}-(${excl})`
|
||||
)
|
||||
|
||||
let nodes = [...(await getRSSContent(url)).querySelectorAll('item')]
|
||||
|
|
@ -133,7 +133,7 @@
|
|||
const ep = `"+${episodes[1] > 9 ? episodes[1] : `0${episodes[1]}`}+"|"+${episodes[1] > 9 ? episodes[1] : `0${episodes[1]}`}v"`
|
||||
|
||||
const url = new URL(
|
||||
`https://${media.isAdult ? 'sukebei.nyaa.si/?page=rss&c=1_1' : 'nyaa.si/?page=rss&c=1_2'}&f=${trusted}&s=seeders&o=desc&q=(${titles})${ep}${quality}-(${excl})`
|
||||
`https://nyaa.si/?page=rss&c=1_2&f=${trusted}&s=seeders&o=desc&q=(${titles})${ep}${quality}-(${excl})`
|
||||
)
|
||||
nodes = [...nodes, ...(await getRSSContent(url)).querySelectorAll('item')]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,16 +96,21 @@ async function resolveTitle (name) {
|
|||
// inefficient but readable
|
||||
|
||||
let media = null
|
||||
// change S2 into Season 2 or 2nd Season
|
||||
const match = method.name.match(/ S(\d)$/)
|
||||
const oldname = method.name
|
||||
try {
|
||||
// change S2 into Season 2 or 2nd Season
|
||||
const match = method.name.match(/ S(\d+)/)
|
||||
const oldname = method.name
|
||||
if (match) {
|
||||
method.name = method.name.replace(/ S(\d)$/, ` ${match[1]}${postfix[match[1]] || 'th'} Season`)
|
||||
media = (await alRequest(method)).data.Page.media[0]
|
||||
if (!media) {
|
||||
method.name = oldname.replace(/ S(\d)$/, ` Season ${match[1]}`)
|
||||
if (Number(match[1]) === 1) { // if this is S1, remove the " S1" or " S01"
|
||||
method.name = method.name.replace(/ S(\d+)/, '')
|
||||
media = (await alRequest(method)).data.Page.media[0]
|
||||
} else {
|
||||
method.name = method.name.replace(/ S(\d+)/, ` ${Number(match[1])}${postfix[Number(match[1])] || 'th'} Season`)
|
||||
media = (await alRequest(method)).data.Page.media[0]
|
||||
if (!media) {
|
||||
method.name = oldname.replace(/ S(\d+)/, ` Season ${Number(match[1])}`)
|
||||
media = (await alRequest(method)).data.Page.media[0]
|
||||
}
|
||||
}
|
||||
} else {
|
||||
media = (await alRequest(method)).data.Page.media[0]
|
||||
|
|
@ -115,7 +120,15 @@ async function resolveTitle (name) {
|
|||
if (!media) {
|
||||
const match = method.name.match(/\(TV\)/)
|
||||
if (match) {
|
||||
method.name = name.replace('(TV)', '').replace('-', '')
|
||||
method.name = method.name.replace('(TV)', '')
|
||||
media = (await alRequest(method)).data.Page.media[0]
|
||||
}
|
||||
}
|
||||
// remove - :
|
||||
if (!media) {
|
||||
const match = method.name.match(/[-:]/g)
|
||||
if (match) {
|
||||
method.name = method.name.replace(/[-:]/g, '')
|
||||
media = (await alRequest(method)).data.Page.media[0]
|
||||
}
|
||||
}
|
||||
|
|
@ -134,7 +147,14 @@ async function resolveTitle (name) {
|
|||
|
||||
function getParseObjTitle (obj) {
|
||||
let title = obj.anime_title
|
||||
if (obj.anime_season) title += ' S' + obj.anime_season
|
||||
const match = title.match(/ S(\d{1,2})E(\d{1,2})v\d/)
|
||||
if (match) {
|
||||
obj.episode_number = match[2]
|
||||
obj.anime_season = match[1]
|
||||
obj.anime_title = title.replace(/ S(\d{1,2})E(\d{1,2})v\d/, '')
|
||||
title = obj.anime_title
|
||||
}
|
||||
if (obj.anime_season > 1) title += ' S' + obj.anime_season
|
||||
return title
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue