potentially resolve RD downloads items metadata

This commit is contained in:
TheBeastLT
2023-04-25 22:09:26 +02:00
parent 4eb167ccc3
commit def60844b2
3 changed files with 18 additions and 12 deletions

View File

@@ -1,5 +1,4 @@
const repository = require('../lib/repository')
const { Type } = require("../lib/types");
const METAHUB_URL = 'https://images.metahub.space'
const BadTokenError = { code: 'BAD_TOKEN' }
@@ -21,22 +20,25 @@ function streamFilename(stream) {
}
async function enrichMeta(itemMeta) {
const torrent = itemMeta.infoHash && await repository.getTorrentWithFiles(itemMeta.infoHash);
const commonImdbId = torrent && mostCommonValue(torrent.files.map(file => file.imdbId));
if (commonImdbId) {
const infoHashes = [...new Set([itemMeta.infoHash]
.concat(itemMeta.videos.map(video => video.infoHash))
.filter(infoHash => infoHash))];
const files = infoHashes.length ? await repository.getFiles(infoHashes).catch(() => []) : [];
const commonImdbId = itemMeta.infoHash && mostCommonValue(files.map(file => file.imdbId));
if (files.length) {
return {
...itemMeta,
logo: `${METAHUB_URL}/logo/medium/${commonImdbId}/img`,
poster: `${METAHUB_URL}/poster/medium/${commonImdbId}/img`,
background: `${METAHUB_URL}/background/medium/${commonImdbId}/img`,
logo: commonImdbId && `${METAHUB_URL}/logo/medium/${commonImdbId}/img`,
poster: commonImdbId && `${METAHUB_URL}/poster/medium/${commonImdbId}/img`,
background: commonImdbId && `${METAHUB_URL}/background/medium/${commonImdbId}/img`,
videos: itemMeta.videos.map(video => {
const file = torrent.files.find(file => video.title.includes(file.title));
const file = files.find(file => video.title.includes(file.title));
if (file && file.imdbId) {
if (file.imdbSeason && file.imdbEpisode) {
video.id = `${file.imdbId}:${file.imdbSeason}:${file.imdbEpisode}`;
video.season = file.imdbSeason;
video.episode = file.imdbEpisode;
video.thumbnail = `https://episodes.metahub.space/${commonImdbId}/${video.season}/${video.episode}/w780.jpg`
video.thumbnail = `https://episodes.metahub.space/${file.imdbId}/${video.season}/${video.episode}/w780.jpg`
} else {
video.id = file.imdbId;
video.thumbnail = `${METAHUB_URL}/background/small/${file.imdbId}/img`;