[musicbrainz-works] Fix minc parsing

This commit is contained in:
SuperSaltyGamer
2024-04-04 12:51:28 +03:00
parent ffe21775ef
commit d0702e3b0c
4 changed files with 10 additions and 9 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
// ==UserScript==
// @namespace ame-musicbrainz-works
// @name Ame (MusicBrainz - Works)
// @version 0.3.1
// @version 0.3.2
// @author SuperSaltyGamer
// @run-at document-end
// @match https://musicbrainz.org/*

View File

@@ -20,6 +20,7 @@ export async function onIswcNetSearchPage() {
const searchEl = document.querySelector<HTMLButtonElement>("button[type='submit']")!;
setReactInputValue(iswcEl, work.iswc);
await sleep(500);
searchEl?.click();
captcha = await Promise.any([

View File

@@ -52,10 +52,10 @@ export function onMincWorkPage() {
const iswc = pathSelector(document, "//h3/text()[.!='-']")?.nodeValue?.replaceAll(" ", "") || null;
const jasrac = pathSelector(document, "//a[@href='#jasrac']/following-sibling::*/span[2][.!='']")?.innerText?.trim() || null;
const nextone = pathSelector(document, "//a[@href='#nextone']/following-sibling::*/span[2][.!='']")?.innerText?.trim() || null;
const lyricists = pathSelectorAll(document, "//td[contains(., '作詞')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
const composers = pathSelectorAll(document, "//td[contains(., '作曲')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
const arrangers = pathSelectorAll(document, "//td[contains(., '編曲')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
const publishers = pathSelectorAll(document, "//td[contains(., '出版者')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
const lyricists = pathSelectorAll(document, "//div[contains(@class, 'management')]//td[contains(., '作詞')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
const composers = pathSelectorAll(document, "//div[contains(@class, 'management')]//td[contains(., '作曲')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
const arrangers = pathSelectorAll(document, "//div[contains(@class, 'management')]//td[contains(., '編曲')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
const publishers = pathSelectorAll(document, "//div[contains(@class, 'management')]//td[contains(., '出版者')]/parent::tr/*[2]").map(getCredit).filter(Boolean);
if (iswc) work.iswc = iswc;
if (jasrac) work.codes.jasrac = jasrac;