From f1b4a6aad96107e2abad6fe3051f2e2bb810a418 Mon Sep 17 00:00:00 2001 From: lowlighter <22963968+lowlighter@users.noreply.github.com> Date: Thu, 27 Jan 2022 20:10:12 -0500 Subject: [PATCH] tests: change nosttings/mock to sandbox setting --- source/plugins/core/index.mjs | 2 +- source/plugins/music/index.mjs | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/source/plugins/core/index.mjs b/source/plugins/core/index.mjs index 4a857ea4..e22d15be 100644 --- a/source/plugins/core/index.mjs +++ b/source/plugins/core/index.mjs @@ -60,7 +60,7 @@ export default async function({login, q}, {conf, data, rest, graphql, plugins, q pending.push((async () => { try { console.debug(`metrics/compute/${login}/plugins > ${name} > started`) - data.plugins[name] = await imports.plugins[name]({login, q, imports, data, computed, rest, graphql, queries, account}, {extras:conf.settings?.extras?.features ?? conf.settings?.extras?.default ?? false, ...plugins[name]}) + data.plugins[name] = await imports.plugins[name]({login, q, imports, data, computed, rest, graphql, queries, account}, {extras:conf.settings?.extras?.features ?? conf.settings?.extras?.default ?? false, sandbox:conf.settings?.sandbox ?? false, ...plugins[name]}) console.debug(`metrics/compute/${login}/plugins > ${name} > completed`) } catch (error) { diff --git a/source/plugins/music/index.mjs b/source/plugins/music/index.mjs index b7f8b3ba..42c721bf 100644 --- a/source/plugins/music/index.mjs +++ b/source/plugins/music/index.mjs @@ -28,7 +28,7 @@ const modes = { } //Setup -export default async function({login, imports, data, q, account}, {enabled = false, token = ""} = {}) { +export default async function({login, imports, data, q, account}, {enabled = false, token = "", sandbox = false} = {}) { //Plugin execution try { //Check if plugin is enabled and requirements are met @@ -47,7 +47,12 @@ export default async function({login, imports, data, q, account}, {enabled = fal let tracks = null //Load inputs - let {provider, mode, playlist, limit, user, "played.at":played_at, "time.range":time_range, "top.type":top_type} = imports.metadata.plugins.music.inputs({data, account, q}) + let {provider, mode, playlist, limit, user, "played.at":played_at, "time.range":time_range, "top.type":top_type, token:_token} = imports.metadata.plugins.music.inputs({data, account, q}) + if ((sandbox)&&(_token)) { + token = _token + console.debug(`metrics/compute/${login}/plugins > music > overriden token value through user inputs as sandbox mode is enabled`) + } + //Auto-guess parameters if (!mode) { if (playlist) { @@ -119,7 +124,7 @@ export default async function({login, imports, data, q, account}, {enabled = fal name:tr.querySelector("td:nth-child(2) div div:nth-child(1)").innerText, artist:tr.querySelector("td:nth-child(2) div div:nth-child(2)").innerText, //Spotify doesn't provide artworks so we fallback on playlist artwork instead - artwork:window.getComputedStyle(document.querySelector("button[title=Play]").parentNode, null).backgroundImage.match(/^url\("(?https:...+)"\)$/)?.groups?.url ?? null, + artwork:window.getComputedStyle(document.querySelector("button[title=Play]")?.parentNode ?? document.querySelector("button").parentNode, null).backgroundImage.match(/^url\("(?https:...+)"\)$/)?.groups?.url ?? null, })) ), ]