Compare commits

..

No commits in common. "d0a4d06cd3c60d13187b7ef62d78425a4e7e78ed" and "325e8ea77d8c80c8556d920b0b5f864b98a28cd7" have entirely different histories.

4 changed files with 9 additions and 18 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "traxxx",
"version": "1.238.7",
"version": "1.238.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "traxxx",
"version": "1.238.7",
"version": "1.238.6",
"license": "ISC",
"dependencies": {
"@aws-sdk/client-s3": "^3.458.0",

View File

@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.238.7",
"version": "1.238.6",
"description": "All the latest porn releases in one place",
"main": "src/app.js",
"scripts": {

View File

@ -191,18 +191,11 @@ async function scrapeRelease(baseRelease, entitiesByHostname, type = 'scene') {
}),
}), {});
curatedScrapedRelease.poster = null;
const mergedRelease = {
...merge(baseRelease, curatedScrapedRelease, {
dedupeStringsInArrayValues: true,
hardMergeKeys: ['actors', 'covers', 'poster', 'trailer', 'teaser'],
ignoreKeys: ['poster'],
}),
poster: Array.from(new Set([
...[].concat(curatedScrapedRelease.poster),
...[].concat(baseRelease.poster),
])).filter(Boolean),
photos: curatedScrapedRelease.photos?.length > 0
? curatedScrapedRelease.photos
: baseRelease.photos,

View File

@ -25,9 +25,9 @@ function scrapeLatest(scenes, channel) {
release.poster = [
...(query.sourceSet('source[data-srcset*="scenes/"][type="image/jpeg"]', 'data-srcset') || []),
query.img('.main-scene-img', { attribute: 'srcset' }),
query.img('.main-scene-img', { attribute: 'data-srcset' }),
query.img('.scene-thumb'),
].filter(Boolean);
];
release.tags = query.contents('.flag-bg');
@ -44,17 +44,16 @@ function scrapeLatest(scenes, channel) {
function scrapeScene({ query }, { url }) {
const release = {};
release.entryId = new URL(url).pathname.match(/-(\d+)$/)?.[1];
release.title = query.content('.breadcrumb-item.active') || query.content('.scene-title, .grey-title'); // main title has performer name instead of scene title in live scenes
release.title = query.content('.scene-title, .grey-title');
release.description = query.text('.synopsis, .scene-description');
release.date = query.date('.entry-date, .released-date', ['MMM D, YYYY', 'MM/DD/YY']);
release.duration = query.duration('.duration');
release.actors = query.exists('.performer-list') || query.exists('.scene-info a[href*="/pornstar"].scene-title') // title links to performer in live scenes
? query.all('.performer-list a, .grey-performers a, .scene-info a[href*="/pornstar"].scene-title').map((actorEl) => ({
release.actors = query.exists('.performer-list')
? query.all('.performer-list a, .grey-performers a').map((actorEl) => ({
name: unprint.query.content(actorEl),
url: unprint.query.url(actorEl, null),
}))
@ -65,8 +64,7 @@ function scrapeScene({ query }, { url }) {
...(query.sourceSet('.scenepage-video source[srcset*="scenes/"][type="image/jpeg"]', 'srcset') || []),
query.img('.play-trailer img[data-srcset*="scenes/"]', { attribute: 'data-srcset' }),
query.img('.scenepage-video .playcard'),
query.img('.scene-page .start-card'),
].filter(Boolean);
];
release.photos = query.els('.contain-scene-images.desktop-only .scene-image').map((imgEl) => [
unprint.query.url(imgEl, null),