diff --git a/assets/components/releases/release.vue b/assets/components/releases/release.vue index 2ae4268e..a5812114 100644 --- a/assets/components/releases/release.vue +++ b/assets/components/releases/release.vue @@ -83,6 +83,7 @@ > {{ movie.title }} diff --git a/public/img/tags/cum-in-mouth/5.jpeg b/public/img/tags/cum-in-mouth/5.jpeg new file mode 100644 index 00000000..5c57b35d Binary files /dev/null and b/public/img/tags/cum-in-mouth/5.jpeg differ diff --git a/public/img/tags/cum-in-mouth/lazy/5.jpeg b/public/img/tags/cum-in-mouth/lazy/5.jpeg new file mode 100644 index 00000000..7672caa9 Binary files /dev/null and b/public/img/tags/cum-in-mouth/lazy/5.jpeg differ diff --git a/public/img/tags/cum-in-mouth/originals/5.jpeg b/public/img/tags/cum-in-mouth/originals/5.jpeg new file mode 100644 index 00000000..2c8608ee Binary files /dev/null and b/public/img/tags/cum-in-mouth/originals/5.jpeg differ diff --git a/public/img/tags/cum-in-mouth/thumbs/5.jpeg b/public/img/tags/cum-in-mouth/thumbs/5.jpeg new file mode 100644 index 00000000..3bd021f5 Binary files /dev/null and b/public/img/tags/cum-in-mouth/thumbs/5.jpeg differ diff --git a/seeds/00_tags.js b/seeds/00_tags.js index b2ce98d4..7f9e2bd1 100644 --- a/seeds/00_tags.js +++ b/seeds/00_tags.js @@ -891,7 +891,7 @@ const tags = [ { name: 'toys', slug: 'toys', - priority: 7, + priority: 6, }, { name: 'toy anal', diff --git a/seeds/04_media.js b/seeds/04_media.js index a680410c..ee3d067c 100644 --- a/seeds/04_media.js +++ b/seeds/04_media.js @@ -729,6 +729,7 @@ const tagPhotos = [ ['creampie', 'poster', 'Alina Lopez in "Making Yourself Unforgettable" for Blacked'], ['cum-drunk', 0, 'Ashly Anderson in "Rough Love" for Hookup Hotshot'], ['cum-in-mouth', 3, 'Kira Noir for HardX'], + ['cum-in-mouth', 5, 'Emma Hix in "A Big Dick For Emma Hix" for DarkX'], ['cum-in-mouth', 4, 'Vanna Bardot and Isiah Maxwell in "Vanna Craves Isiah\'s Cock!" for DarkX'], ['cum-in-mouth', 2, 'Jaye Summers in "Double The Cum" for HardX'], ['cum-in-mouth', 0, 'Vina Sky and Avi Love for HardX'], diff --git a/src/app.js b/src/app.js index 51a4b9cd..b410cba0 100644 --- a/src/app.js +++ b/src/app.js @@ -76,8 +76,8 @@ async function init() { ? await fetchScenes([...(sceneUrls), ...(updateBaseScenes || []), ...(actorBaseScenes || [])]) : [...(updateBaseScenes || []), ...(actorBaseScenes || [])]; - const sceneMovies = deepScenes && deepScenes.map(scene => scene.movie).filter(Boolean); - const deepMovies = argv.sceneMovies && await fetchMovies([...(argv.movie || []), ...(sceneMovies || [])]); + const sceneMovies = deepScenes ? deepScenes.map(scene => ({ ...scene.movie, entity: scene.entity })).filter(Boolean) : []; + const deepMovies = argv.sceneMovies || argv.movie ? await fetchMovies([...(argv.movie || []), ...(sceneMovies || [])]) : sceneMovies; 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; @@ -88,14 +88,14 @@ async function init() { } if (argv.save) { + const storedScenes = deepScenes.length > 0 || deepMovieScenes.length > 0 + ? await storeScenes(deepScenes) + : []; + if (deepMovies.length > 0) { const storedMovieScenes = await storeScenes(deepMovieScenes); - await storeMovies(deepMovies, storedMovieScenes || []); - } - - if (deepScenes.length > 0 || deepMovieScenes.length > 0) { - await storeScenes(deepScenes || []); + await storeMovies(deepMovies, [...(storedMovieScenes || []), ...storedScenes]); } } diff --git a/src/scrapers/gamma.js b/src/scrapers/gamma.js index 2a04758b..97417b60 100644 --- a/src/scrapers/gamma.js +++ b/src/scrapers/gamma.js @@ -203,7 +203,7 @@ function scrapeAll(html, site, networkUrl, hasTeaser = true) { }); } -async function scrapeScene(html, url, site, baseRelease, mobileHtml) { +async function scrapeScene(html, url, site, baseRelease, mobileHtml, options) { const $ = cheerio.load(html, { normalizeWhitespace: true }); const m$ = mobileHtml && cheerio.load(mobileHtml, { normalizeWhitespace: true }); const release = { $, url }; @@ -261,7 +261,7 @@ async function scrapeScene(html, url, site, baseRelease, mobileHtml) { const photoLink = $('.picturesItem a').attr('href'); const mobilePhotos = m$ ? m$('.preview-displayer a img').map((photoIndex, photoEl) => $(photoEl).attr('src')).toArray() : []; - if (photoLink) { + if (photoLink && options.includePhotos) { const photos = await getPhotos(photoLink, site, mobilePhotos.length < 3); // only get thumbnails when less than 3 mobile photos are available if (photos.length < 7) release.photos = [...photos, ...mobilePhotos]; // probably only teaser photos available, supplement with mobile album @@ -312,7 +312,6 @@ async function scrapeScene(html, url, site, baseRelease, mobileHtml) { title: movie.attr('title'), entryId: movieUrl.match(/\/(\d+)(\/|$)/)?.[1], covers: [movie.find('img').attr('src')], - entity: site, }; } @@ -595,7 +594,7 @@ function getDeepUrl(url, site, baseRelease, mobile) { return url; } -async function fetchScene(url, site, baseRelease) { +async function fetchScene(url, site, baseRelease, options) { if (site.parameters?.deep === false) { return baseRelease; } @@ -616,7 +615,7 @@ async function fetchScene(url, site, baseRelease) { if (res.status === 200) { const mobileBody = mobileRes?.status === 200 ? mobileRes.body.toString() : null; - const scene = await scrapeScene(res.body.toString(), url, site, baseRelease, mobileBody); + const scene = await scrapeScene(res.body.toString(), url, site, baseRelease, mobileBody, options); return { ...scene, deepUrl }; } diff --git a/src/store-releases.js b/src/store-releases.js index 12ae6cc2..a13045ad 100644 --- a/src/store-releases.js +++ b/src/store-releases.js @@ -339,15 +339,19 @@ async function associateMovieScenes(movies, movieScenes) { }, }), {}); + console.log('movies', movies, movieScenes); + const associations = movies.map((movie) => { - if (!movie.scenes) { + if (!movie.scenes || !movie.id) { return null; } + console.log(movie, movie.scenes); + return movie.scenes.map((scene) => { const movieScene = movieScenesByEntityIdAndEntryId[movie.entity.id]?.[scene.entryId]; - if (movieScene) { + if (movieScene?.id) { return { movie_id: movie.id, scene_id: movieScene.id,