diff --git a/src/libpoketube/init/pages-channel-and-download.js b/src/libpoketube/init/pages-channel-and-download.js index 286b6b79..aa36cbc6 100644 --- a/src/libpoketube/init/pages-channel-and-download.js +++ b/src/libpoketube/init/pages-channel-and-download.js @@ -18,7 +18,7 @@ const { getRandomArbitrary, } = require("../ptutils/libpt-coreutils.js"); -const sha384 = modules.hash +const sha384 = modules.hash; function getJson(str) { try { @@ -28,7 +28,6 @@ function getJson(str) { } } - module.exports = function (app, config, renderTemplate) { app.get("/download", async function (req, res) { var v = req.query.v; @@ -132,61 +131,64 @@ module.exports = function (app, config, renderTemplate) { } //videos - const a = await modules.fetch(`${config.invapi}/channels/videos/${ID}/`).then((res) => - res.text() - ); + const a = await modules + .fetch(`${config.invapi}/channels/videos/${ID}/`) + .then((res) => res.text()); - var tj = await getJson(a); + var tj = await getJson(a); + const community = await modules + .fetch(`${config.invapi}/channels/community/${ID}/`) + .then((res) => res.text()); - const community = await modules.fetch(`${config.invapi}/channels/community/${ID}/`).then((res) => - res.text() - ); + var c = await getJson(community); - var c = await getJson(community); + try { + const summary = await wiki.summary(k.Channel.Metadata.Name); - const summary = await wiki.summary(k.Channel.Metadata.Name); + var w = ""; + if (summary.title === "Not found.") { + w = "none"; + } + if (summary.title !== "Not found.") { + w = summary; + } - var w = ""; - if (summary.title === "Not found.") { - w = "none"; + const { Subscribers: subscribers } = k.Channel.Metadata; + const description = k.Channel.Contents.ItemSection.About.Description; + + var d = description.toString().replace(/\n/g, "
"); + if (d === "[object Object]") { + var d = ""; + } + + var dnoreplace = description.toString(); + if (dnoreplace === "[object Object]") { + var dnoreplace = ""; + } + + renderTemplate(res, req, "channel.ejs", { + ID, + tab, + j: k, + tj, + c, + convert, + turntomins, + dnoreplace: dnoreplace, + continuation: continuation, + wiki: w, + getFirstLine: getFirstLine, + isMobile: req.useragent.isMobile, + about: k.Channel.Contents.ItemSection.About, + subs: + typeof subscribers === "string" + ? subscribers.replace("subscribers", "") + : "Private", + desc: d, + }); + } catch { + res.redirect("/"); } - if (summary.title !== "Not found.") { - w = summary; - } - - const { Subscribers: subscribers } = k.Channel.Metadata; - const description = k.Channel.Contents.ItemSection.About.Description; - - var d = description.toString().replace(/\n/g, "
"); - if (d === "[object Object]") { - var d = ""; - } - - var dnoreplace = description.toString(); - if (dnoreplace === "[object Object]") { - var dnoreplace = ""; - } - - renderTemplate(res, req, "channel.ejs", { - ID, - tab, - j: k, - tj, - c, - convert, - turntomins, - dnoreplace: dnoreplace, - continuation: continuation, - wiki: w, - getFirstLine: getFirstLine, - isMobile: req.useragent.isMobile, - about: k.Channel.Contents.ItemSection.About, - subs: - typeof subscribers === "string" - ? subscribers.replace("subscribers", "") - : "Private", - desc: d, - }); }); };