Compare commits

...

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian 66439b3b17 1.228.22 2023-07-03 00:50:50 +02:00
DebaucheryLibrarian 916deff487 Fixed Arch Angel placeholder thumbnail. 2023-07-03 00:50:47 +02:00
5 changed files with 23 additions and 6 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "traxxx",
"version": "1.228.21",
"version": "1.228.22",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "traxxx",
"version": "1.228.21",
"version": "1.228.22",
"license": "ISC",
"dependencies": {
"@casl/ability": "^5.2.2",

View File

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

View File

@ -0,0 +1 @@
<iframe style="background-color: white;" width="728" height="90" scrolling="no" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" name="spot_id_10002481" src="//a.adtng.com/get/10002481?ata=DebaucheryLibrarian"></iframe>

View File

@ -261,6 +261,12 @@ const campaigns = [
affiliate: 'bang_signup',
comment: 'per signup',
},
// brazzers
{
network: 'brazzers',
banner: 'brazzers_728_90',
comment: 'per signup',
},
// dfxtra / dogfart
{
network: 'dfxtra',
@ -693,6 +699,8 @@ exports.seed = async (knex) => Promise.resolve()
}));
}
console.log(file);
return {
id: path.parse(file).name,
network,
@ -769,6 +777,7 @@ exports.seed = async (knex) => Promise.resolve()
url: campaign.url,
affiliate_id: campaign.affiliate,
banner_id: campaign.banner,
html: campaign.html,
})).filter((link) => link.entity_id && (link.url || link.affiliate_id));
await knex('affiliates').insert(affiliatesWithEntityId);

View File

@ -5,6 +5,8 @@ const unprint = require('unprint');
const slugify = require('../utils/slugify');
const { feetInchesToCm } = require('../utils/convert');
const placeholder = /images\/p\d+\.jpe?g/i;
function getEntryId(release) {
return slugify(new URL(release.url).pathname.match(/\/([\w-]+)\.html/)?.[1]
|| [unprint.formatDate(release.date, 'YYYY-MM-DD'), release.title, ...release.actors]);
@ -28,7 +30,7 @@ function scrapeAll(scenes) {
const poster = query.img('img.mainThumb');
if (poster && !/images\/p\d+\.jpe?g/i.test(poster)) {
if (poster && !placeholder.test(poster)) {
release.poster = poster;
}
@ -54,7 +56,12 @@ function scrapeScene({ query, html }, { url }) {
url: unprint.query.url(actorEl, null),
}));
release.poster = query.img('.update_thumb') || html.match(/poster="(.*\.jpg)"/)?.[1];
const poster = query.img('.update_thumb') || html.match(/poster="(.*\.jpg)"/)?.[1];
if (poster && !placeholder.test(poster)) {
release.poster = poster;
}
release.trailer = html.match(/src="(.*\.mp4)"/)?.[1];
release.photoCount = query.number('.info', { match: /(\d+) photos/i, matchIndex: 1 });
@ -115,7 +122,7 @@ function scrapeProfile({ query, element }, { url, entity }) {
query.img('.model_bio_thumb', { attribute: 'src0_2x', origin: entity.url }),
query.img('.model_bio_thumb', { attribute: 'src0_1x', origin: entity.url }),
query.img('.model_bio_thumb', { attribute: 'src0', origin: entity.url }),
].filter(Boolean);
].filter((avatar) => avatar && !placeholder.test(avatar));
profile.scenes = scrapeAll(unprint.initAll(element, '.item-video'));