From 0e8024adf197960264235028d15c55d9be18cb53 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Thu, 10 Sep 2020 23:49:24 +0200 Subject: [PATCH] Changed next page determination to ensure --after is followed even if there are no unique releases. --- assets/components/container/container.vue | 1 - assets/components/entities/entity.vue | 2 +- assets/components/releases/release.vue | 24 ++++++++++++++--------- src/app.js | 4 ++-- src/scrapers/amateurallure.js | 4 ++-- src/scrapers/americanpornstar.js | 4 ++-- src/scrapers/julesjordan.js | 2 +- src/updates.js | 18 ++++++++--------- 8 files changed, 31 insertions(+), 28 deletions(-) diff --git a/assets/components/container/container.vue b/assets/components/container/container.vue index 33ced675..05f05ba4 100644 --- a/assets/components/container/container.vue +++ b/assets/components/container/container.vue @@ -13,7 +13,6 @@
-
diff --git a/assets/components/entities/entity.vue b/assets/components/entities/entity.vue index 85bbdb63..c45c2f38 100644 --- a/assets/components/entities/entity.vue +++ b/assets/components/entities/entity.vue @@ -218,7 +218,7 @@ export default { } .logo-child { - height: 2.5rem; + height: 2rem; } .logo-parent { diff --git a/assets/components/releases/release.vue b/assets/components/releases/release.vue index 76f49261..8498c690 100644 --- a/assets/components/releases/release.vue +++ b/assets/components/releases/release.vue @@ -79,7 +79,7 @@ {{ movie.title }} @@ -209,13 +209,7 @@ import Releases from './releases.vue'; import Scroll from '../scroll/scroll.vue'; import Expand from '../expand/expand.vue'; -function pageTitle() { - return this.release - && (this.release.title - || (this.release.actors.length > 0 ? `${this.release.actors.map(actor => actor.name).join(', ')} for ${this.release.entity.name}` : null)); -} - -async function mounted() { +async function fetchRelease() { if (this.$route.name === 'scene') { this.release = await this.$store.dispatch('fetchReleaseById', this.$route.params.releaseId); } @@ -225,6 +219,12 @@ async function mounted() { } } +function pageTitle() { + return this.release + && (this.release.title + || (this.release.actors.length > 0 ? `${this.release.actors.map(actor => actor.name).join(', ')} for ${this.release.entity.name}` : null)); +} + export default { components: { Actor, @@ -245,7 +245,13 @@ export default { computed: { pageTitle, }, - mounted, + watch: { + $route: fetchRelease, + }, + mounted: fetchRelease, + methods: { + fetchRelease, + }, }; diff --git a/src/app.js b/src/app.js index 3a45851a..3b3f4669 100644 --- a/src/app.js +++ b/src/app.js @@ -40,8 +40,8 @@ async function init() { const sceneMovies = deepScenes && deepScenes.map(scene => scene.movie).filter(Boolean); const deepMovies = argv.sceneMovies && await fetchMovies([...(argv.movie || []), ...(sceneMovies || [])]); - const movieScenes = deepMovies.map(movie => movie.scenes?.map(scene => ({ ...scene, entity: movie.entity }))).flat().filter(Boolean); - const deepMovieScenes = argv.movieScenes ? await fetchScenes(movieScenes) : movieScenes; + const movieScenes = argv.movieScenes ? deepMovies.map(movie => movie.scenes?.map(scene => ({ ...scene, entity: movie.entity }))).flat().filter(Boolean) : []; + const deepMovieScenes = argv.deep ? await fetchScenes(movieScenes) : movieScenes; if (argv.inspect) { console.log(util.inspect(deepScenes)); diff --git a/src/scrapers/amateurallure.js b/src/scrapers/amateurallure.js index 989994ea..01e9f881 100644 --- a/src/scrapers/amateurallure.js +++ b/src/scrapers/amateurallure.js @@ -31,8 +31,8 @@ function extractActors(scene) { return release; } -async function fetchLatestWrap(site, page = 1) { - const latest = await fetchLatest(site, page); +async function fetchLatestWrap(site, page = 1, include, preData) { + const latest = await fetchLatest(site, page, include, preData); return latest.map(scene => extractActors(scene)); } diff --git a/src/scrapers/americanpornstar.js b/src/scrapers/americanpornstar.js index 76b96adb..0e440691 100644 --- a/src/scrapers/americanpornstar.js +++ b/src/scrapers/americanpornstar.js @@ -44,8 +44,8 @@ function scrapeScene({ query }, channel) { return release; } -async function fetchLatestLocal(channel, page) { - return fetchLatest(channel, page, true); +async function fetchLatestLocal(channel, page, include, preData) { + return fetchLatest(channel, page, include, preData, true); } async function fetchScene(url, channel) { diff --git a/src/scrapers/julesjordan.js b/src/scrapers/julesjordan.js index 2d01b471..8a62e553 100644 --- a/src/scrapers/julesjordan.js +++ b/src/scrapers/julesjordan.js @@ -359,7 +359,7 @@ function scrapeProfile(html, url, actorName, entity) { return profile; } -async function fetchLatest(site, page = 1, entryIdFromTitle = false) { +async function fetchLatest(site, page = 1, include, preData, entryIdFromTitle = false) { const url = site.parameters?.latest ? util.format(site.parameters.latest, page) : `${site.url}/trial/categories/movies_${page}_d.html`; diff --git a/src/updates.js b/src/updates.js index df50a401..5ef852a0 100644 --- a/src/updates.js +++ b/src/updates.js @@ -56,17 +56,15 @@ function needNextPage(releases, uniqueReleases, totalReleases, hasDates, upcomin return totalReleases + releases.length < argv.nullDateLimit; } - if (uniqueReleases.length === 0) { - return false; - } + if (argv.after) { + const oldestReleaseOnPage = releases + .sort((releaseA, releaseB) => releaseB.date - releaseA.date) + .slice(-1)[0]; - const oldestReleaseOnPage = releases - .sort((releaseA, releaseB) => releaseB.date - releaseA.date) - .slice(-1)[0]; - - if (moment(oldestReleaseOnPage.date).isAfter(argv.after)) { - // oldest release on page is newer than the specified date cut-off - return true; + if (moment(oldestReleaseOnPage.date).isAfter(argv.after)) { + // oldest release on page is newer than the specified date cut-off + return true; + } } return false;