Extend mediainfo parsing under menu

This commit is contained in:
DataHoarder 2022-07-23 12:44:50 +02:00
parent 3e4273d5c2
commit e74cbdb95a
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk
2 changed files with 15 additions and 4 deletions

View file

@ -1,7 +1,7 @@
// ==UserScript==
// @name AnimeBytes Mediainfo Improvements
// @author WeebDataHoarder
// @version 1.29.5
// @version 1.29.6
// @downloadURL https://git.gammaspectra.live/WeebDataHoarder/userscripts/raw/branch/master/AnimeBytes/ab-mediainfo.user.js
// @updateURL https://git.gammaspectra.live/WeebDataHoarder/userscripts/raw/branch/master/AnimeBytes/ab-mediainfo.user.js
// @description AnimeBytes Mediainfo Improvements. Adds several listing and matching releases against mediainfo utilities. MIT license
@ -17,7 +17,7 @@
// @require deps/compat.js?1
// @require deps/resources.js?2
// @require deps/settings.js?1
// @require deps/mediainfo.js?14
// @require deps/mediainfo.js?15
// @require deps/ab-class.js?1
// @run-at document-end
// ==/UserScript==
@ -1699,7 +1699,12 @@ if(
}else if(descriptionSection !== null){
//Find mediainfo tags
torrent.elements.description.querySelectorAll("input.spoilerButton").forEach((e) => {
let t = e.parentElement.querySelector("div.spoiler").textContent.trim();
let ee = e.parentElement.querySelector("div.spoiler");
let tt = ee.querySelector("pre");
if(!tt){
tt = ee;
}
let t = tt.textContent.trim()
let index = t.indexOf("General");
if(index !== -1){
let m = Mediainfo.parseText(t.substr(index));

View file

@ -979,7 +979,13 @@ class Mediainfo {
ob[currentKey] = currentOb;
}
}else if(currentOb !== null){
const matches = currentKey === "menu" ? cleanLine.match(/^(?<key>([0-9]+:)+[0-9]+(\.[0-9]+)?)[\s]*:(?<value>.+)$/) : cleanLine.match(/^(?<key>((?!\s?:).)+)[\s]*:(?<value>.+)$/);
let matches = null;
if(currentKey === "menu"){
matches = cleanLine.match(/^(?<key>([0-9]+:)+[0-9]+(\.[0-9]+)?)[\s]*:(?<value>.+)$/);
}
if(matches === null){
matches = cleanLine.match(/^(?<key>((?!\s?:).)+)[\s]*:(?<value>.+)$/);
}
if(matches !== null){
let key = matches.groups.key.trim().toLowerCase().replace(/[ \/*]/g, "_").replace(/[(),]/g, "");
currentOb[key] = matches.groups.value.trim();