From b5b2d341f9b9c48a958815491f097b080650b408 Mon Sep 17 00:00:00 2001 From: Jorrin Date: Sun, 7 Jan 2024 00:42:32 +0100 Subject: [PATCH 1/2] add disabled embed filter --- package-lock.json | 4 ++-- src/runners/individualRunner.ts | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6a4523d..f38bd59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@movie-web/providers", - "version": "1.1.5", + "version": "2.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@movie-web/providers", - "version": "1.1.5", + "version": "2.0.5", "license": "MIT", "dependencies": { "cheerio": "^1.0.0-rc.12", diff --git a/src/runners/individualRunner.ts b/src/runners/individualRunner.ts index 2befd84..ad3004b 100644 --- a/src/runners/individualRunner.ts +++ b/src/runners/individualRunner.ts @@ -58,6 +58,14 @@ export async function scrapeInvidualSource( } if (!output) throw new Error('output is null'); + + // filter output with only valid embeds that are not disabled + output.embeds = output.embeds.filter((embed) => { + const e = list.embeds.find((v) => v.id === embed.embedId); + if (!e || e.disabled) return false; + return true; + }); + if ((!output.stream || output.stream.length === 0) && output.embeds.length === 0) throw new NotFoundError('No streams found'); return output; From 6212a014a0b189847dfc91c715e2f7ad290b9d92 Mon Sep 17 00:00:00 2001 From: Jorrin Date: Sun, 7 Jan 2024 01:12:17 +0100 Subject: [PATCH 2/2] filter out disabled embeds in runAll --- src/runners/runner.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/runners/runner.ts b/src/runners/runner.ts index eaf6285..e3c0976 100644 --- a/src/runners/runner.ts +++ b/src/runners/runner.ts @@ -116,8 +116,14 @@ export async function runAllProviders(list: ProviderList, ops: ProviderRunnerOpt }; } - // run embed scrapers on listed embeds - const sortedEmbeds = output.embeds.sort((a, b) => embedIds.indexOf(a.embedId) - embedIds.indexOf(b.embedId)); + // filter disabled and run embed scrapers on listed embeds + const sortedEmbeds = output.embeds + .filter((embed) => { + const e = list.embeds.find((v) => v.id === embed.embedId); + if (!e || e.disabled) return false; + return true; + }) + .sort((a, b) => embedIds.indexOf(a.embedId) - embedIds.indexOf(b.embedId)); if (sortedEmbeds.length > 0) { ops.events?.discoverEmbeds?.({