Compare commits

..

No commits in common. "64a52fbb1e31027d8e3458469a9ba33a46bccf1b" and "209fe67bb021bbfed31e0d5e27748606bed7719f" have entirely different histories.

7 changed files with 15 additions and 40 deletions

View File

@ -175,11 +175,6 @@ module.exports = {
'pornhub', 'pornhub',
'freeones', 'freeones',
], ],
options: {
traxxx: {
// source: 'http://nsfw.unknown.name/random',
},
},
proxy: { proxy: {
enable: false, enable: false,
host: '', host: '',

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.138.5", "version": "1.138.4",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

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

View File

@ -757,7 +757,6 @@ async function flushOrphanedMedia() {
knex('tags_photos').select('media_id'), knex('tags_photos').select('media_id'),
knex('releases_posters').select('media_id'), knex('releases_posters').select('media_id'),
knex('releases_photos').select('media_id'), knex('releases_photos').select('media_id'),
knex('releases_covers').select('media_id'),
knex('releases_trailers').select('media_id'), knex('releases_trailers').select('media_id'),
knex('releases_teasers').select('media_id'), knex('releases_teasers').select('media_id'),
knex('movies_covers').select('media_id'), knex('movies_covers').select('media_id'),

View File

@ -78,7 +78,7 @@ const boobpedia = require('./boobpedia');
const freeones = require('./freeones'); const freeones = require('./freeones');
// const freeoneslegacy = require('./freeones_legacy'); // const freeoneslegacy = require('./freeones_legacy');
const scrapers = { module.exports = {
releases: { releases: {
'21naturals': naturals, '21naturals': naturals,
'21sextreme': sextreme, '21sextreme': sextreme,
@ -269,9 +269,3 @@ const scrapers = {
xempire, xempire,
}, },
}; };
module.exports = {
// add slug for easy internal reference
releases: Object.entries(scrapers.releases).reduce((acc, [slug, scraper]) => ({ ...acc, [slug]: { ...scraper, slug } })),
actors: Object.entries(scrapers.actors).reduce((acc, [slug, scraper]) => ({ ...acc, [slug]: { ...scraper, slug } })),
};

View File

@ -97,7 +97,7 @@ function maleNoun() {
return random([ return random([
'guy', 'guy',
'stud', 'stud',
'lad', 'man',
'boyfriend', 'boyfriend',
'stranger', 'stranger',
'stepbrother', 'stepbrother',
@ -227,29 +227,22 @@ function actors(release) {
})); }));
} }
async function fetchLatest(entity, page, options) { async function fetchLatest(entity) {
return Promise.all(Array.from({ length: 100 }, async (value, index) => { return Promise.all(Array.from({ length: 100 }, async (value, index) => {
const release = {}; const release = {};
release.entryId = nanoid(); release.entryId = nanoid();
release.date = moment().subtract(Math.floor(Math.random() * index), 'days').toDate(); release.date = moment().subtract(Math.floor(Math.random() * index), 'days').toDate();
if (options.source) { const [poster, ...photos] = await knex('media')
// select from configured random image source .select('path')
release.poster = `${options.source}?id=${nanoid()}`; // ensure source is unique .where('is_sfw', true)
release.photos = Array.from({ length: Math.floor(Math.random() * 10) + 1 }, () => `${options.source}?id=${nanoid()}`); // ensure source is unique .pluck('path')
} else { .orderByRaw('random()')
// select from local SFW database .limit(Math.floor(Math.random() * 10) + 1);
const [poster, ...photos] = await knex('media')
.select('path')
.where('is_sfw', true)
.pluck('path')
.orderByRaw('random()')
.limit(Math.floor(Math.random() * 10) + 1);
release.poster = `http://${config.web.host}:${config.web.port}/img/${poster}?id=${nanoid()}`; // ensure source is unique release.poster = `http://${config.web.host}:${config.web.port}/img/${poster}?id=${nanoid()}`; // ensure source is unique
release.photos = photos.map(photo => `http://${config.web.host}:${config.web.port}/img/${photo}?id=${nanoid()}`); release.photos = photos.map(photo => `http://${config.web.host}:${config.web.port}/img/${photo}?id=${nanoid()}`);
}
release.tags = await knex('tags') release.tags = await knex('tags')
.select('name') .select('name')

View File

@ -1,6 +1,5 @@
'use strict'; 'use strict';
const config = require('config');
const Promise = require('bluebird'); const Promise = require('bluebird');
const moment = require('moment'); const moment = require('moment');
@ -94,14 +93,9 @@ function needNextPage(pageReleases, accReleases, isUpcoming) {
async function scrapeReleases(scraper, entity, preData, isUpcoming) { async function scrapeReleases(scraper, entity, preData, isUpcoming) {
async function scrapeReleasesPage(page, accReleases) { async function scrapeReleasesPage(page, accReleases) {
const options = {
...config.options[scraper.slug],
...include,
};
const pageReleases = isUpcoming const pageReleases = isUpcoming
? await scraper.fetchUpcoming(entity, page, options, preData) ? await scraper.fetchUpcoming(entity, page, include, preData)
: await scraper.fetchLatest(entity, page, options, preData); : await scraper.fetchLatest(entity, page, include, preData);
if (!Array.isArray(pageReleases)) { if (!Array.isArray(pageReleases)) {
// scraper is unable to fetch the releases and returned a HTTP code or null // scraper is unable to fetch the releases and returned a HTTP code or null