From 2597e00f45eb8afe1f01a48bd28cace8206b0310 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Sat, 15 Jul 2023 10:54:56 +0200 Subject: [PATCH] fix: improve term mapping for torrent search --- package.json | 2 +- src/renderer/views/RSSView.svelte | 92 +++++++++++++++---------------- 2 files changed, 44 insertions(+), 50 deletions(-) diff --git a/package.json b/package.json index 7b43022..4f19204 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Miru", - "version": "4.2.0", + "version": "4.2.1", "author": "ThaUnknown_ ", "description": "Stream anime torrents, real-time with no waiting for downloads.", "main": "build/main.js", diff --git a/src/renderer/views/RSSView.svelte b/src/renderer/views/RSSView.svelte index ba9fc43..6de1d34 100644 --- a/src/renderer/views/RSSView.svelte +++ b/src/renderer/views/RSSView.svelte @@ -18,6 +18,49 @@ if (!force && findInCurrent({ media, episode })) return rss.set({ media, episode }) } + + const termMapping = {} + termMapping['5.1'] = { text: '5.1', color: '#f67255' } + termMapping['5.1CH'] = termMapping[5.1] + termMapping['TRUEHD5.1'] = { text: 'TrueHD 5.1', color: '#f67255' } + termMapping.AAC = { text: 'AAC', color: '#f67255' } + termMapping.AACX2 = termMapping.AAC + termMapping.AACX3 = termMapping.AAC + termMapping.AACX4 = termMapping.AAC + termMapping.AC3 = { text: 'AC3', color: '#f67255' } + termMapping.EAC3 = { text: 'EAC3', color: '#f67255' } + termMapping['E-AC-3'] = termMapping.EAC3 + termMapping.FLAC = { text: 'FLAC', color: '#f67255' } + termMapping.FLACX2 = termMapping.FLAC + termMapping.FLACX3 = termMapping.FLAC + termMapping.FLACX4 = termMapping.FLAC + termMapping.VORBIS = { text: 'Vorbis', color: '#f67255' } + termMapping.DUALAUDIO = { text: 'Dual Audio', color: '#f67255' } + termMapping['DUAL AUDIO'] = termMapping.DUALAUDIO + termMapping['10BIT'] = { text: '10 Bit', color: '#0c8ce9' } + termMapping['10BITS'] = termMapping['10BIT'] + termMapping['10-BIT'] = termMapping['10BIT'] + termMapping['10-BITS'] = termMapping['10BIT'] + termMapping.HI10 = termMapping['10BIT'] + termMapping.HI10P = termMapping['10BIT'] + termMapping.HI444 = { text: 'HI444', color: '#0c8ce9' } + termMapping.HI444P = termMapping.HI444 + termMapping.HI444PP = termMapping.HI444 + termMapping.HEVC = { text: 'HEVC', color: '#0c8ce9' } + termMapping.H265 = termMapping.HEVC + termMapping['H.265'] = termMapping.HEVC + termMapping.X265 = termMapping.HEVC + termMapping.AV1 = { text: 'AV1', color: '#0c8ce9' } + + function sanitiseTerms ({ video_term: video, audio_term: audio, video_resolution: resolution }) { + if (!Array.isArray(video)) video = [video] + if (!Array.isArray(audio)) audio = [audio] + + const terms = [...new Set([...video, ...audio].map(term => termMapping[term?.toUpperCase()]).filter(t => t))] + if (resolution) terms.unshift({ text: resolution, color: '#c6ec58' }) + + return terms + }