diff --git a/assets/components/releases/tile-details.vue b/assets/components/releases/tile-details.vue index a5540db1..7a2bfa2d 100644 --- a/assets/components/releases/tile-details.vue +++ b/assets/components/releases/tile-details.vue @@ -43,7 +43,7 @@ target="_blank" rel="noopener noreferrer" class="date" - >{{ formatDate(release.date, 'MMMM D, YYYY', release.datePrecision) }} + >{{ formatDate(release.date, 'MMMM D, YYYY', release.datePrecision) }}

{{ release.title }}

diff --git a/public/img/tags/brunette/0.jpeg b/public/img/tags/brunette/0.jpeg index b8ce33c0..1b68d831 100644 Binary files a/public/img/tags/brunette/0.jpeg and b/public/img/tags/brunette/0.jpeg differ diff --git a/public/img/tags/brunette/lazy/0.jpeg b/public/img/tags/brunette/lazy/0.jpeg index 6372daa1..d8bd8e57 100644 Binary files a/public/img/tags/brunette/lazy/0.jpeg and b/public/img/tags/brunette/lazy/0.jpeg differ diff --git a/public/img/tags/brunette/thumbs/0.jpeg b/public/img/tags/brunette/thumbs/0.jpeg index 95dc4f26..81e18b8d 100644 Binary files a/public/img/tags/brunette/thumbs/0.jpeg and b/public/img/tags/brunette/thumbs/0.jpeg differ diff --git a/seeds/00_tags.js b/seeds/00_tags.js index 149affdd..b00829e7 100644 --- a/seeds/00_tags.js +++ b/seeds/00_tags.js @@ -1295,6 +1295,10 @@ const aliases = [ for: 'femdom', secondary: true, }, + { + name: 'dp', + for: 'dp', + }, { name: 'double penetration (dp)', for: 'dp', diff --git a/seeds/04_media.js b/seeds/04_media.js index 5ab639c8..d2053ee6 100644 --- a/seeds/04_media.js +++ b/seeds/04_media.js @@ -597,7 +597,7 @@ const tagPosters = [ ['blonde', 0, 'Anikka Albrite in "Black Owned 4" for Jules Jordan'], ['blowbang', 0, 'Lacy Lennon in "Lacy Lennon\'s First Blowbang" for HardX'], ['blowjob', 0, 'Adriana Chechik in "The Dinner Party" for Real Wife Stories (Brazzers)'], - ['brunette', 0, 'Nicole Black in GIO971 for LegalPorno'], + ['brunette', 0, 'Liv Wild in "Dirty Talk 9" for Manuel Ferrara'], ['bukkake', 0, 'Jaye Summers in "Facialized 5" for HardX'], ['caucasian', 0, 'Remy Lacroix for HardX'], ['creampie', 'poster', 'ALina Lopez in "Making Yourself Unforgettable" for Blacked'], diff --git a/src/deep.js b/src/deep.js index 2d6db31c..49a6cda2 100644 --- a/src/deep.js +++ b/src/deep.js @@ -112,8 +112,8 @@ async function scrapeRelease(baseRelease, entities, type = 'scene') { logger.verbose(`Fetching ${type} ${baseRelease.url}`); const scrapedRelease = type === 'scene' - ? await scraper.fetchScene(baseRelease.url, entity, baseRelease, null, include) - : await scraper.fetchMovie(baseRelease.url, entity, baseRelease, null, include); + ? await scraper.fetchScene(baseRelease.url, entity, baseRelease, include, null) + : await scraper.fetchMovie(baseRelease.url, entity, baseRelease, include, null); const mergedRelease = { ...baseRelease, diff --git a/src/scrapers/amateurallure.js b/src/scrapers/amateurallure.js index 2609e030..628bc8a5 100644 --- a/src/scrapers/amateurallure.js +++ b/src/scrapers/amateurallure.js @@ -37,8 +37,9 @@ async function fetchLatestWrap(site, page = 1) { return latest.map(scene => extractActors(scene)); } -async function fetchSceneWrap(url, site) { - const scene = await fetchScene(url, site); +async function fetchSceneWrap(url, channel, baseRelease, include) { + console.log(include); + const scene = await fetchScene(url, channel, baseRelease, include); return extractActors(scene); } diff --git a/src/scrapers/assylum.js b/src/scrapers/assylum.js index 34e0f572..74b67cc5 100644 --- a/src/scrapers/assylum.js +++ b/src/scrapers/assylum.js @@ -41,7 +41,7 @@ function scrapeLatest(scenes, site, models) { }); } -function scrapeScene({ html, qu }, url, site, models) { +function scrapeScene({ html, qu }, url, site, include, models) { const release = { url }; [release.entryId] = url.split('/').slice(-1); diff --git a/src/scrapers/hush.js b/src/scrapers/hush.js index d0ff82ff..bab6bf37 100644 --- a/src/scrapers/hush.js +++ b/src/scrapers/hush.js @@ -356,7 +356,7 @@ function scrapeProfileTour({ el, qu }, site) { return profile; } -async function fetchLatest(site, page = 1, _beforeFetchLatest, accSiteReleases) { +async function fetchLatest(site, page = 1, include, preflight, accSiteReleases) { const url = (site.parameters?.latest && util.format(site.parameters.latest, page)) || (site.parameters?.t1 && `${site.url}/t1/categories/movies_${page}_d.html`) || `${site.url}/categories/movies_${page}_d.html`; diff --git a/src/scrapers/julesjordan.js b/src/scrapers/julesjordan.js index a9e465f5..462880e1 100644 --- a/src/scrapers/julesjordan.js +++ b/src/scrapers/julesjordan.js @@ -139,8 +139,8 @@ function scrapeAll(scenes, site) { release.entryId = el.dataset.setid || qu.q('.rating_box')?.dataset.id; - release.url = qu.url('.update_title, .dvd_info > a, a ~ a'); - release.title = qu.q('.update_title, .dvd_info > a, a ~ a', true); + release.url = qu.url('.update_title a, .dvd_info > a, a ~ a'); + release.title = qu.q('.update_title a, .dvd_info > a, a ~ a', true); release.date = qu.date('.update_date', 'MM/DD/YYYY'); release.actors = qu.all('.update_models a', true); @@ -247,11 +247,16 @@ async function scrapeScene({ html, qu }, url, site, include) { if (include.trailer && site.slug !== 'manuelferrara') { const trailerLines = html.split('\n').filter(line => /movie\["trailer\w*"\]\[/i.test(line)); + console.log(trailerLines); + if (trailerLines.length) { release.trailer = trailerLines.map((trailerLine) => { - const src = trailerLine.match(/path:"([\w:/.&=?%]+)"/)?.[1]; + // const src = trailerLine.match(/path:"([\w-:/.&=?%]+)"/)?.[1]; + const src = trailerLine.match(/path:"(.+)"/)?.[1]; const quality = trailerLine.match(/movie_height:'(\d+)/)?.[1]; + console.log(src, quality); + return src && { src: /^http/.test(src) ? src : `${site.url}${src}`, quality: quality && Number(quality.replace('558', '540')), @@ -368,7 +373,7 @@ async function fetchUpcoming(site) { return res.statusCode; } -async function fetchScene(url, site, baseRelease, preflight, include) { +async function fetchScene(url, site, baseRelease, include) { const res = await get(url); return res.ok ? scrapeScene(res.item, url, site, include) : res.status; diff --git a/src/updates.js b/src/updates.js index c873f654..0d9009b9 100644 --- a/src/updates.js +++ b/src/updates.js @@ -80,10 +80,8 @@ function needNextPage(uniqueReleases, pageAccReleases) { async function scrapeReleases(scraper, entity, preData, upcoming = false) { const scrapePage = async (page = 1, accReleases = []) => { const latestReleases = upcoming - ? await scraper.fetchUpcoming(entity, page, preData, include) - : await scraper.fetchLatest(entity, page, preData, include); - - await scraper.fetchMovies(entity, page); + ? await scraper.fetchUpcoming(entity, page, include, preData) + : await scraper.fetchLatest(entity, page, include, preData); if (!Array.isArray(latestReleases)) { // scraper is unable to fetch the releases and returned a HTTP code or null @@ -173,6 +171,10 @@ async function scrapeChannelReleases(scraper, channelEntity, preData) { : [], ]); + if (scraper.fetchMovies) { + await scraper.fetchMovies(channelEntity); + } + logger.info(`Fetching ${latestReleases.length} latest and ${upcomingReleases.length} upcoming updates for '${channelEntity.name}' (${channelEntity.parent?.name})`); return [...latestReleases, ...upcomingReleases];