adding support for "ago"
This commit is contained in:
parent
d4c125154b
commit
5c1f1bf24f
|
@ -4,6 +4,31 @@ const prisma = new PrismaClient()
|
|||
const metadata = require('./metadata.js')
|
||||
const upload = require('./upload.js')
|
||||
|
||||
function convertRelativeToDate(relativeTime) {
|
||||
const parts = relativeTime.split(' ');
|
||||
const amount = parseInt(parts[0]);
|
||||
const unit = parts[1];
|
||||
|
||||
const currentDate = new Date();
|
||||
|
||||
switch (unit) {
|
||||
case 'hour':
|
||||
case 'hours':
|
||||
currentDate.setHours(currentDate.getHours() - amount);
|
||||
break;
|
||||
case 'minute':
|
||||
case 'minutes':
|
||||
currentDate.setMinutes(currentDate.getMinutes() - amount);
|
||||
break;
|
||||
case 'day':
|
||||
case 'days':
|
||||
currentDate.setDate(currentDate.getDate() - amount);
|
||||
break;
|
||||
}
|
||||
|
||||
return currentDate;
|
||||
}
|
||||
|
||||
async function createDatabaseVideo(id, videoUrl, playlistId) {
|
||||
const data = await metadata.getVideoMetadata(id)
|
||||
const channelData = await metadata.getChannel(data.basic_info.channel_id)
|
||||
|
@ -21,8 +46,8 @@ async function createDatabaseVideo(id, videoUrl, playlistId) {
|
|||
description: (data.basic_info.short_description).replaceAll('\n', '<br>'),
|
||||
thumbnail: thumbnailUrl,
|
||||
source: videoUrl,
|
||||
published: (new Date(data.primary_info.published.text)).toISOString().slice(0,10),
|
||||
archived: (new Date()).toISOString().slice(0,10),
|
||||
published: (data.primary_info.published.text.endsWith('ago') ? convertRelativeToDate(data.primary_info.published.text) : new Date(data.primary_info.published.text)).toISOString().slice(0, 10),
|
||||
archived: (new Date()).toISOString().slice(0, 10),
|
||||
channel: channelData.metadata.title,
|
||||
channelId: channelData.metadata.external_id,
|
||||
channelAvatar: uploaderAvatar,
|
||||
|
|
Loading…
Reference in New Issue