Browse Source

chore(superstream): improve import, move quality finding to its own function

pull/122/head
Jip Fr 3 years ago
parent
commit
fa9785bf69
  1. 2
      src/backend/index.ts
  2. 38
      src/backend/providers/superstream/index.ts

2
src/backend/index.ts

@ -3,7 +3,7 @@ import { initializeScraperStore } from "./helpers/register"; @@ -3,7 +3,7 @@ import { initializeScraperStore } from "./helpers/register";
// providers
import "./providers/gdriveplayer";
import "./providers/flixhq";
import "./providers/superstream/superstream";
import "./providers/superstream";
// embeds
// -- nothing here yet

38
src/backend/providers/superstream/superstream.ts → src/backend/providers/superstream/index.ts

@ -98,6 +98,16 @@ const get = (data: object, altApi = false) => { @@ -98,6 +98,16 @@ const get = (data: object, altApi = false) => {
});
};
// Find best resolution
const getBestQuality = (list: any[]) => {
return (
list.find((quality: any) => quality.quality === "1080p" && quality.path) ??
list.find((quality: any) => quality.quality === "720p" && quality.path) ??
list.find((quality: any) => quality.quality === "480p" && quality.path) ??
list.find((quality: any) => quality.quality === "360p" && quality.path)
);
};
registerProvider({
id: "superstream",
displayName: "Superstream",
@ -138,19 +148,7 @@ registerProvider({ @@ -138,19 +148,7 @@ registerProvider({
const mediaRes = (await get(apiQuery)).data;
progress(50);
const hdQuality =
mediaRes.list.find(
(quality: any) => quality.quality === "1080p" && quality.path
) ??
mediaRes.list.find(
(quality: any) => quality.quality === "720p" && quality.path
) ??
mediaRes.list.find(
(quality: any) => quality.quality === "480p" && quality.path
) ??
mediaRes.list.find(
(quality: any) => quality.quality === "360p" && quality.path
);
const hdQuality = getBestQuality(mediaRes.list);
if (!hdQuality) throw new Error("No quality could be found.");
@ -210,19 +208,7 @@ registerProvider({ @@ -210,19 +208,7 @@ registerProvider({
const mediaRes = (await get(apiQuery)).data;
progress(66);
const hdQuality =
mediaRes.list.find(
(quality: any) => quality.quality === "1080p" && quality.path
) ??
mediaRes.list.find(
(quality: any) => quality.quality === "720p" && quality.path
) ??
mediaRes.list.find(
(quality: any) => quality.quality === "480p" && quality.path
) ??
mediaRes.list.find(
(quality: any) => quality.quality === "360p" && quality.path
);
const hdQuality = getBestQuality(mediaRes.list);
if (!hdQuality) throw new Error("No quality could be found.");
Loading…
Cancel
Save