Fixed slugify behavior.

This commit is contained in:
DebaucheryLibrarian
2026-01-10 04:33:15 +01:00
parent e84beacca1
commit 19dbd624ca
8 changed files with 77 additions and 41 deletions

View File

@@ -62,6 +62,25 @@ const actors = [
{ entity: 'babes', name: 'Alina Lopez', fields: ['avatar', 'description', 'gender', 'height', 'measurements', 'birthPlace', 'dateOfBirth', 'weight', 'hairColor', 'ethnicity', 'hasTattoos', 'hasPiercings'] },
{ entity: 'letsdoeit', name: 'Nicole Doshi', fields: ['avatar', 'description', 'gender', 'height', 'measurements', 'birthPlace', 'dateOfBirth'] },
{ entity: 'men', name: 'Cade Maddox', fields: ['avatar', 'description', 'gender', 'height', 'ethnicity', 'penisLength', 'dateOfBirth', 'weight', 'hairColor', 'hasTattoos'] },
{ entity: 'metrohd', name: 'April Olsen', fields: ['avatar', 'description', 'gender', 'birthPlace', 'height', 'measurements', 'dateOfBirth', 'weight'] },
{ entity: 'mofos', name: 'Ariana Starr', fields: ['avatar', 'description', 'gender', 'birthPlace', 'height', 'measurements', 'dateOfBirth'] },
{ entity: 'propertysex', name: 'Desiree Dulce', fields: ['avatar', 'description', 'gender', 'birthPlace', 'height', 'measurements', 'dateOfBirth', 'weight', 'hairColor', 'ethnicity', 'hasPiercings'] },
{ entity: 'sexyhub', name: 'Angie Lynx', fields: ['avatar', 'description', 'gender', 'birthPlace', 'height', 'measurements', 'dateOfBirth'] },
{ entity: 'squirted', name: 'Nicole Doshi', fields: ['avatar', 'description', 'gender', 'birthPlace', 'height', 'measurements', 'dateOfBirth'] },
{ entity: 'transangels', name: 'Aubrey Kate', fields: ['avatar', 'description', 'gender', 'birthPlace', 'height', 'measurements', 'dateOfBirth', 'weight', 'hairColor', 'ethnicity', 'hasTattoos'] },
{ entity: 'trueamateurs', name: 'Natalie FLowers', fields: ['avatar', 'gender'] },
{ entity: 'spicevids', name: 'Remy LaCroix', fields: ['avatar', 'gender', 'description', 'height', 'measurements', 'dateOfBirth', 'weight'] },
{ entity: 'twistys', name: 'Remy LaCroix', fields: ['avatar', 'gender', 'description', 'height', 'measurements', 'dateOfBirth', 'weight', 'birthPlace', 'hairColor', 'ethnicity', 'naturalBoobs', 'hasPiercings'] },
// aylo > adult mobile
{ entity: 'adultmobile', name: 'Scarlett Alexis', fields: ['avatar', 'gender'] },
{ entity: 'doghousedigital', name: 'Scarlett Alexis', fields: ['avatar', 'gender'] },
{ entity: 'familysinners', name: 'Scarlett Alexis', fields: ['avatar', 'gender'] },
{ entity: 'iconmale', name: 'Troy Accola', fields: ['avatar', 'gender', 'hairColor', 'ethnicity', 'hasTattoos', 'hasPiercings'] },
{ entity: 'realityjunkies', name: 'Scarlett Alexis', fields: ['avatar', 'gender'] },
{ entity: 'sweetheartvideo', name: 'Lexi Lore', fields: ['avatar', 'gender', 'hairColor', 'ethnicity', 'hasTattoos', 'hasPiercings'] },
{ entity: 'sweetsinner', name: 'Anna Claire Clouds', fields: ['avatar', 'gender'] },
// bangros
{ entity: 'bangbros', name: 'Kira Perez', fields: ['avatar', 'gender', 'ethnicity', 'hairColor'] },
];
const actorScrapers = scrapers.actors;
@@ -90,9 +109,9 @@ async function validateUrl(url, mime = 'image/') {
const validators = {
age: (value) => !!Number(value),
gender: (value) => value && ['female', 'male', 'transsexual'].includes(value.toLowerCase()),
gender: (value) => value && ['female', 'male', 'transsexual', 'trans'].includes(value.toLowerCase()),
description: (value) => typeof value === 'string' && value.length > 3,
birthPlace: (value) => typeof value === 'string' && value.length > 3,
birthPlace: (value) => typeof value === 'string' && value.length > 1, // may return US or USA
birthCountry: (value) => typeof value === 'string' && value.length > 1,
nationality: (value) => typeof value === 'string' && value.length > 3,
height: (value) => !!Number(value) || /\d'\d{1,2}"/.test(value),
@@ -164,7 +183,7 @@ async function init() {
}, include);
console.log(profile);
console.log('Untested fields', Object.keys(profile).filter((field) => !actor.fields.includes(field)).join(', '));
console.log('Untested fields', Object.entries(profile).filter(([field, value]) => !actor.fields.includes(field) && typeof value !== 'undefined' && value !== null).map(([field]) => field).join(', '));
if (!profile) {
assert.fail('profile not found');