From e69b7744c8cc131141dd95a728b6f6d869045013 Mon Sep 17 00:00:00 2001 From: Niels Simenon Date: Fri, 13 Dec 2019 03:57:01 +0100 Subject: [PATCH] Showing movie covers as poster when available. --- assets/components/release/banner.vue | 102 ------- assets/components/release/release.vue | 398 -------------------------- assets/components/tile/release.vue | 7 + assets/js/router.js | 2 +- public/css/style.css | 72 ++--- src/releases.js | 17 +- src/scrapers/julesjordan.js | 3 +- 7 files changed, 56 insertions(+), 545 deletions(-) delete mode 100644 assets/components/release/banner.vue delete mode 100644 assets/components/release/release.vue diff --git a/assets/components/release/banner.vue b/assets/components/release/banner.vue deleted file mode 100644 index ca1d3395..00000000 --- a/assets/components/release/banner.vue +++ /dev/null @@ -1,102 +0,0 @@ - - - - - diff --git a/assets/components/release/release.vue b/assets/components/release/release.vue deleted file mode 100644 index 8953ed02..00000000 --- a/assets/components/release/release.vue +++ /dev/null @@ -1,398 +0,0 @@ - - - - - diff --git a/assets/components/tile/release.vue b/assets/components/tile/release.vue index 9b924d47..70cc0f05 100644 --- a/assets/components/tile/release.vue +++ b/assets/components/tile/release.vue @@ -49,6 +49,13 @@ class="thumbnail" > + + 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); diff --git a/src/scrapers/julesjordan.js b/src/scrapers/julesjordan.js index b38e4bef..ad5c2dc0 100644 --- a/src/scrapers/julesjordan.js +++ b/src/scrapers/julesjordan.js @@ -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; }