mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 23:51:44 +00:00
66 lines
1.6 KiB
TypeScript
66 lines
1.6 KiB
TypeScript
import { Info, ProviderContext } from "../types";
|
|
|
|
export const getMeta = async function ({
|
|
link,
|
|
providerContext,
|
|
}: {
|
|
link: string;
|
|
providerContext: ProviderContext;
|
|
}): Promise<Info> {
|
|
try {
|
|
const { cheerio } = providerContext;
|
|
const url = link;
|
|
const res = await fetch(url);
|
|
const data = await res.text();
|
|
const $ = cheerio.load(data);
|
|
const meta = {
|
|
title: $('.c_h2:contains("Title(s):")')
|
|
.text()
|
|
.replace("Title(s):", "")
|
|
.trim()
|
|
.split("\n")[0],
|
|
synopsis: $('.c_h2b:contains("Summary:"),.c_h2:contains("Summary:")')
|
|
.text()
|
|
.replace("Summary:", "")
|
|
.trim(),
|
|
image: $(".a_img").attr("src") || "",
|
|
imdbId: "",
|
|
type: "series",
|
|
};
|
|
const episodesList: { title: string; link: string }[] = [];
|
|
$(".episode").map((i, element) => {
|
|
const link =
|
|
"https://www.tokyoinsider.com" + $(element).find("a").attr("href") ||
|
|
$(".download-link").attr("href");
|
|
let title =
|
|
$(element).find("a").find("em").text() +
|
|
" " +
|
|
$(element).find("a").find("strong").text();
|
|
if (!title.trim()) {
|
|
title = $(".download-link").text();
|
|
}
|
|
if (link && title.trim()) {
|
|
episodesList.push({ title, link });
|
|
}
|
|
});
|
|
return {
|
|
...meta,
|
|
linkList: [
|
|
{
|
|
title: meta.title,
|
|
directLinks: episodesList,
|
|
},
|
|
],
|
|
};
|
|
} catch (err) {
|
|
return {
|
|
title: "",
|
|
synopsis: "",
|
|
image: "",
|
|
imdbId: "",
|
|
type: "series",
|
|
linkList: [],
|
|
};
|
|
}
|
|
};
|