Showing movie covers as poster when available.

This commit is contained in:
2019-12-13 03:57:01 +01:00
parent 73f9d568b0
commit e69b7744c8
7 changed files with 56 additions and 545 deletions

View File

@@ -80,6 +80,7 @@ async function curateRelease(release) {
duration: release.duration,
photos: media.filter(item => item.role === 'photo'),
poster: media.filter(item => item.role === 'poster')[0],
covers: media.filter(item => item.role === 'cover'),
trailer: media.filter(item => item.role === 'trailer')[0],
site: {
id: release.site_id,
@@ -244,26 +245,30 @@ async function fetchTagReleases(queryObject, options = {}) {
async function storeReleaseAssets(release, releaseId) {
const subpath = `${release.site.network.slug}/${release.site.slug}/${release.id}/`;
const identifier = `"${release.title}" (${releaseId})`;
await createMediaDirectory('releases', subpath);
console.log(release.poster);
try {
await Promise.all([
storePhotos(release.photos, {
targetId: releaseId,
subpath,
}),
storePhotos([release.poster], {
}, identifier),
release.poster && storePhotos([release.poster], {
role: 'poster',
targetId: releaseId,
subpath,
}),
}, identifier),
storePhotos(release.covers, {
role: 'cover',
targetId: releaseId,
subpath,
}, identifier),
storeTrailer(release.trailer, {
targetId: releaseId,
subpath,
}),
}, identifier),
]);
} catch (error) {
console.log(release.url, error);

View File

@@ -208,13 +208,12 @@ function scrapeMovie(html, url, site) {
const { document } = new JSDOM(html).window;
const movie = { url, site };
console.log(url);
movie.entryId = document.querySelector('.dvd_details_overview .rating_box').dataset.id;
movie.title = document.querySelector('.title_bar span').textContent;
movie.covers = Array.from(document.querySelectorAll('#dvd-cover-flip > a'), el => el.href);
movie.channel = document.querySelector('.update_date a').textContent;
movie.date = new Date();
movie.releases = Array.from(document.querySelectorAll('.cell.dvd_info > a'), el => el.href);
return movie;
}