Moved Killergram to Aylo. Added profile tests.

This commit is contained in:
DebaucheryLibrarian
2026-01-12 01:31:30 +01:00
parent 1a2bf77692
commit db62652dc8
9 changed files with 52 additions and 140 deletions

View File

@@ -747,7 +747,7 @@ function extractSizes(sizes) {
}
// SpermMania, Handjob Japan
function scrapeProfile({ query }, channel, url) {
function scrapeProfile({ query }, _channel, url) {
const profile = { url };
const bio = Object.fromEntries(query.all('.actr-item, .profile tr, #profile tr, .profile-info li, .model-detail .item, .model-item').map((bioEl) => [
@@ -784,17 +784,17 @@ function scrapeProfile({ query }, channel, url) {
profile.leg = unprint.extractNumber(bio.leg_length);
profile.thigh = unprint.extractNumber(bio.thigh_width);
profile.social = [bio.homepage, bio.twitter].filter(Boolean);
profile.socials = [bio.homepage, bio.twitter].filter((social) => /^http/.test(social));
const avatar = query.img('.scene-array img[src*="/actress"], img.portrait, .profile-img img')
|| query.img('.costume-bg', { attribute: 'data-img' })
|| query.style('.model-profile, #profile, .carousel-item')?.['background-image']?.match(/url\((.*)\)/)?.[1];
if (avatar) {
profile.avatar = [
profile.avatar = Array.from(new Set([
avatar.replace('-header.jpg', '.jpg'), // Transex Japan, prefer avatar over header banner
avatar,
];
]));
}
profile.photos = [
@@ -805,7 +805,7 @@ function scrapeProfile({ query }, channel, url) {
return profile;
}
function scrapeProfileLesbian({ query, html }, channel, url) {
function scrapeProfileLesbian({ query, html }, _channel, url) {
const profile = { url };
profile.age = query.number('//strong[contains(text(), "Age")]/following-sibling::text()[1]');
@@ -823,7 +823,7 @@ function scrapeProfileLesbian({ query, html }, channel, url) {
profile.hip = measurements.hip;
}
profile.avatar = html.match(/https:\/\/img.uralesbian.com\/models\/\d+\.jpg/)?.[0];
profile.avatar = html.match(/https:\/\/(img|cdn).uralesbian.com\/models\/\d+\.jpg/)?.[0];
return profile;
}
@@ -833,7 +833,7 @@ async function fetchProfile({ slug, url: actorUrl }, { entity, parameters }) {
? `${parameters.actors}/${slug}`
: `${entity.url}/actress/${slug}`);
const res = await unprint.get(url);
const res = await unprint.get(url, { followRedirects: false });
if (res.ok) {
if (parameters.layout === 'lesbian') {