forked from DebaucheryLibrarian/traxxx
Allowing release scrapers to return actor details. Added True Amateurs.
This commit is contained in:
@@ -7,6 +7,11 @@ const slugify = require('../utils/slugify');
|
||||
const clusterId = '617fb597b659459bafe6472470d9073a';
|
||||
const authKey = 'YmFuZy1yZWFkOktqVDN0RzJacmQ1TFNRazI=';
|
||||
|
||||
const genderMap = {
|
||||
M: 'male',
|
||||
F: 'female',
|
||||
};
|
||||
|
||||
function getScreenUrl(item, scene) {
|
||||
return `https://i.bang.com/screenshots/${scene.dvd.id}/movie/${scene.order}/${item.screenId}.jpg`;
|
||||
}
|
||||
@@ -37,7 +42,6 @@ function scrapeScene(scene, site) {
|
||||
entryId: scene.id,
|
||||
title: scene.name,
|
||||
description: scene.description,
|
||||
actors: scene.actors.map(actor => actor.name),
|
||||
tags: scene.genres.concat(scene.actions).map(genre => genre.name),
|
||||
duration: scene.duration,
|
||||
};
|
||||
@@ -48,6 +52,8 @@ function scrapeScene(scene, site) {
|
||||
const date = new Date(scene.releaseDate);
|
||||
release.date = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
|
||||
|
||||
release.actors = scene.actors.map(actor => ({ name: actor.name, gender: genderMap[actor.gender] }));
|
||||
|
||||
if (scene.is4k) release.tags.push('4k');
|
||||
if (scene.gay) release.tags.push('gay');
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ async function scrapeApiReleases(json, site) {
|
||||
else if (site.parameters?.scene !== false) release.url = `${site.url}/en/video${release.path}`;
|
||||
|
||||
release.date = moment.utc(scene.release_date, 'YYYY-MM-DD').toDate();
|
||||
release.actors = scene.actors.map(({ name }) => name);
|
||||
release.actors = scene.actors.map(actor => ({ name: actor.name, gender: actor.gender }));
|
||||
release.director = scene.directors[0]?.name || null;
|
||||
|
||||
release.tags = scene.master_categories
|
||||
@@ -198,15 +198,21 @@ async function scrapeScene(html, url, site, scrapedRelease) {
|
||||
if (data.director?.[0]?.name) release.director = data.director[0].name;
|
||||
else if (data2?.director?.[0]?.name) release.director = data2.director[0].name;
|
||||
|
||||
const actors = data?.actor || data2?.actor || [];
|
||||
release.actors = actors.map(actor => actor.name);
|
||||
|
||||
const stars = (data.aggregateRating.ratingValue / data.aggregateRating.bestRating) * 5;
|
||||
if (stars) release.rating = { stars };
|
||||
|
||||
release.duration = moment.duration(data.duration.slice(2)).asSeconds();
|
||||
}
|
||||
|
||||
const actors = data?.actor || data2?.actor;
|
||||
|
||||
if (actors) {
|
||||
release.actors = actors.map(actor => ({
|
||||
name: actor.name,
|
||||
gender: actor.gender,
|
||||
}));
|
||||
}
|
||||
|
||||
const hasTrans = release.actors.some(actor => actor.gender === 'shemale');
|
||||
const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ');
|
||||
release.tags = hasTrans ? [...rawTags, 'transsexual'] : rawTags;
|
||||
@@ -440,7 +446,7 @@ async function fetchUpcoming(site) {
|
||||
}
|
||||
|
||||
function getDeepUrl(url, site, release) {
|
||||
const pathname = release.path || new URL(url).pathname;
|
||||
const pathname = release?.path || new URL(url).pathname;
|
||||
|
||||
if (site.parameters?.deep === 'network') {
|
||||
return `${site.network.url}${pathname}`;
|
||||
|
||||
@@ -40,7 +40,7 @@ function scrapeLatestX(data, site) {
|
||||
const hostname = site.parameters?.native ? site.url : site.network.url;
|
||||
const url = `${hostname}/scene/${entryId}/`;
|
||||
const date = new Date(data.dateReleased);
|
||||
const actors = data.actors.map(actor => actor.name);
|
||||
const actors = data.actors.map(actor => ({ name: actor.name, gender: actor.gender }));
|
||||
|
||||
const tags = data.tags.map(tag => tag.name);
|
||||
|
||||
@@ -83,7 +83,7 @@ function scrapeScene(data, url, _site, networkName) {
|
||||
release.description = description;
|
||||
|
||||
release.date = new Date(data.dateReleased);
|
||||
release.actors = data.actors.map(actor => actor.name);
|
||||
release.actors = data.actors.map(actor => ({ name: actor.name, gender: actor.gender }));
|
||||
|
||||
release.tags = data.tags.map(tag => tag.name);
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ async function fetchClassic(site, page) {
|
||||
}
|
||||
|
||||
async function fetchLatestWrap(site, page = 1) {
|
||||
if (site.parameters && site.parameters.classic) {
|
||||
if (site.parameters?.classic) {
|
||||
return fetchClassic(site, page);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user