mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 15:41:45 +00:00
77 lines
1.8 KiB
TypeScript
77 lines
1.8 KiB
TypeScript
import { EpisodeLink, Info, Link, ProviderContext } from "../types";
|
|
|
|
export const getMeta = async function ({
|
|
link,
|
|
providerContext,
|
|
}: {
|
|
link: string;
|
|
providerContext: ProviderContext;
|
|
}): Promise<Info> {
|
|
try {
|
|
const { axios, cheerio } = providerContext;
|
|
const baseUrl = link?.split("/").slice(0, 3).join("/");
|
|
const url = link;
|
|
const res = await axios.get(url);
|
|
const data = res.data;
|
|
const $ = cheerio.load(data);
|
|
const title =
|
|
$(".directory")
|
|
.children()
|
|
.first()
|
|
.text()
|
|
.trim()
|
|
?.split("/")
|
|
.pop()
|
|
?.trim() || "";
|
|
const links: Link[] = [];
|
|
$('.directory-entry:not(:contains("Parent Directory"))').map(
|
|
(i, element) => {
|
|
const link = $(element).attr("href");
|
|
if (link) {
|
|
links.push({
|
|
episodesLink: baseUrl + link,
|
|
title: $(element).text(),
|
|
});
|
|
}
|
|
}
|
|
);
|
|
const directLinks: EpisodeLink[] = [];
|
|
$('.file-entry:not(:contains("Parent Directory"))').map((i, element) => {
|
|
const link = $(element).attr("href");
|
|
if (
|
|
link &&
|
|
($(element).text()?.includes(".mp4") ||
|
|
$(element).text()?.includes(".mkv"))
|
|
) {
|
|
directLinks.push({
|
|
title: i + 1 + ". " + $(element).text(),
|
|
link: baseUrl + link,
|
|
});
|
|
}
|
|
});
|
|
if (directLinks.length > 0) {
|
|
links.push({
|
|
title: title + " DL",
|
|
directLinks: directLinks,
|
|
});
|
|
}
|
|
return {
|
|
title: title,
|
|
synopsis: "",
|
|
image: "",
|
|
imdbId: "",
|
|
type: "movie",
|
|
linkList: links,
|
|
};
|
|
} catch (err) {
|
|
return {
|
|
title: "",
|
|
synopsis: "",
|
|
image: "",
|
|
imdbId: "",
|
|
type: "movie",
|
|
linkList: [],
|
|
};
|
|
}
|
|
};
|