Merge pull request #70 from movie-web/fix/included-disabled-embeds

Add disabled embed filter to scrapeInvidualSource and runAllProviders
This commit is contained in:
William Oldham 2024-01-07 00:35:13 +00:00 committed by GitHub
commit e1f23f571d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 4 deletions

4
package-lock.json generated
View File

@ -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",

View File

@ -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;

View File

@ -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?.({