This commit is contained in:
DebaucheryLibrarian 2024-09-11 05:16:58 +02:00
parent 58a35fe998
commit bb06fe9763
2 changed files with 43 additions and 29 deletions

View File

@ -125,15 +125,21 @@ module.exports = function dissectLink(url) {
return hostMethod;
}
const { hostname } = new UrlPattern('http(s)\\://(www.):hostname(*)').match(url);
const match = new UrlPattern('http(s)\\://(www.):hostname(*)').match(url);
if (hostname && fallbacks.has(hostname)) {
return {
url,
method: 'tube',
label: hostname,
};
if (match) {
const { hostname } = match;
if (hostname && fallbacks.has(hostname)) {
return {
url,
method: 'tube',
label: hostname,
};
}
}
console.log(url);
return null;
};

View File

@ -3,31 +3,39 @@
const youtubedl = require('youtube-dl');
const dateFns = require('date-fns');
async function tube(host) {
const data = await new Promise((resolve, reject) => {
youtubedl.getInfo(host.url, null, (error, info) => {
if (error) {
reject(error);
}
async function tube(host, post) {
try {
const data = await new Promise((resolve, reject) => {
youtubedl.getInfo(host.url, null, (error, info) => {
if (error) {
reject(error);
}
resolve(info);
resolve(info);
});
});
});
return {
album: null,
items: [
{
id: data.id,
url: data.url,
title: data.fulltitle || data.title,
description: data.description,
type: `video/${data.ext}`,
datetime: dateFns.format(data.upload_date, 'YYYYMMDD'),
original: data,
},
],
};
host.id = data.display_id;
return {
album: null,
items: [
{
id: data.id,
url: data.url,
title: data.fulltitle || data.title,
description: data.description,
type: `video/${data.ext}`,
datetime: dateFns.format(data.upload_date, 'YYYYMMDD'),
original: data,
},
],
};
} catch (error) {
console.log('\x1b[33m%s\x1b[0m', `Ignoring possible profile page '${host.url}' (${post ? post.permalink : 'no post'})`);
return null;
}
}
module.exports = tube;