mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-06-02 21:48:14 +00:00
fix: handle cases with no episode or direct links in provider testing
This commit is contained in:
+18
-2
@@ -357,9 +357,15 @@ class ProviderTester {
|
|||||||
result.episodes.skipped = true;
|
result.episodes.skipped = true;
|
||||||
result.episodes.error = "Function not available";
|
result.episodes.error = "Function not available";
|
||||||
}
|
}
|
||||||
} else {
|
} else if (directLinks.length === 0) {
|
||||||
result.episodes.skipped = true;
|
result.episodes.skipped = true;
|
||||||
console.log(` ℹ️ No episode links found, skipping episodes test`);
|
console.log(
|
||||||
|
` ℹ️ No episode links or direct links found, skipping episodes test`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
console.log(
|
||||||
|
` ℹ️ No episode links found; will test stream via direct links instead`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test direct links/stream if episodes not tested or no episode links
|
// Test direct links/stream if episodes not tested or no episode links
|
||||||
@@ -378,6 +384,7 @@ class ProviderTester {
|
|||||||
|
|
||||||
const streamModule = this.loadModule(providerName, "stream");
|
const streamModule = this.loadModule(providerName, "stream");
|
||||||
if (streamModule && streamModule.getStream) {
|
if (streamModule && streamModule.getStream) {
|
||||||
|
let lastEmptyMessage = null;
|
||||||
for (const directLink of Array.isArray(linksToTest)
|
for (const directLink of Array.isArray(linksToTest)
|
||||||
? linksToTest
|
? linksToTest
|
||||||
: [linksToTest]) {
|
: [linksToTest]) {
|
||||||
@@ -395,6 +402,7 @@ class ProviderTester {
|
|||||||
|
|
||||||
if (Array.isArray(streams) && streams.length > 0) {
|
if (Array.isArray(streams) && streams.length > 0) {
|
||||||
result.stream.success = true;
|
result.stream.success = true;
|
||||||
|
result.stream.error = null;
|
||||||
result.stream.data = {
|
result.stream.data = {
|
||||||
count: streams.length,
|
count: streams.length,
|
||||||
type: directLink.type || "movie",
|
type: directLink.type || "movie",
|
||||||
@@ -410,12 +418,20 @@ class ProviderTester {
|
|||||||
break; // One success is enough
|
break; // One success is enough
|
||||||
} else {
|
} else {
|
||||||
console.log(` ⚠️ No streams returned`);
|
console.log(` ⚠️ No streams returned`);
|
||||||
|
lastEmptyMessage = "No streams returned";
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(` ❌ Stream error: ${err.message}`);
|
console.log(` ❌ Stream error: ${err.message}`);
|
||||||
result.stream.error = err.message;
|
result.stream.error = err.message;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (
|
||||||
|
!result.stream.success &&
|
||||||
|
!result.stream.error &&
|
||||||
|
lastEmptyMessage
|
||||||
|
) {
|
||||||
|
result.stream.error = lastEmptyMessage;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(` ❌ getStream function not found`);
|
console.log(` ❌ getStream function not found`);
|
||||||
result.stream.error = "Function not available";
|
result.stream.error = "Function not available";
|
||||||
|
|||||||
Reference in New Issue
Block a user