From e91ff659e908efa5f3be77ac5b6b1de00ed201f1 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Fri, 6 Feb 2026 02:29:32 +0100 Subject: [PATCH] Added site filter to Gamma API actor fetch for more accurate profile results. --- seeds/01_networks.js | 5 +++-- src/scrapers/actors.js | 1 - src/scrapers/gamma.js | 9 +++++---- tests/profiles.js | 1 + 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/seeds/01_networks.js b/seeds/01_networks.js index f768ec97..6889fb8f 100755 --- a/seeds/01_networks.js +++ b/seeds/01_networks.js @@ -875,12 +875,13 @@ const networks = [ name: 'XEmpire', url: 'https://www.xempire.com', description: 'XEmpire.com brings you today\'s top pornstars in beautifully shot, HD sex scenes across 4 unique porn sites of gonzo porn, interracial, lesbian & erotica!', + parent: 'gamma', parameters: { layout: 'api', - actorScenes: 'https://www.xempire.com/en/videos/xempire/latest/{page}/All-Categories/0{actorPath}', sceneMovies: false, + actorScenes: 'https://www.xempire.com/en/videos/xempire/latest/{page}/All-Categories/0{actorPath}', + actorAvailableOnSites: ['allblackx', 'darkx', 'eroticax', 'hardx', 'lesbianx', 'xempire', 'xempirepartners'], }, - parent: 'gamma', }, { slug: 'zerotolerance', diff --git a/src/scrapers/actors.js b/src/scrapers/actors.js index 7cd7e266..1d9924b4 100644 --- a/src/scrapers/actors.js +++ b/src/scrapers/actors.js @@ -100,7 +100,6 @@ module.exports = { '3rddegreefilms': gamma, addicted2girls: gamma, biphoria: gamma, - blakemason: gamma, blowpass: gamma, burningangel: gamma, chaosmen: gamma, diff --git a/src/scrapers/gamma.js b/src/scrapers/gamma.js index eb2536f7..bd164e9c 100755 --- a/src/scrapers/gamma.js +++ b/src/scrapers/gamma.js @@ -927,18 +927,19 @@ async function fetchProfile({ name: actorName }, context, include, altSearchUrl, async function fetchApiProfile({ name: actorName }, context, include) { const siteSlug = context.entity.slug || context.site?.slug || context.network?.slug; - const actorSlug = encodeURI(actorName); - // const referer = `https://www.${siteSlug}.com/en/search`; - const referer = `${new URL(context.entity.url).origin}/en/search`; + const referer = `${context.entity.origin}/en/search`; const { apiUrl } = await fetchApiCredentials(referer); + const availableOnSites = (context.parameters.actorAvailableOnSites || [siteSlug]).map((site) => `"availableOnSite:${site}"`).join(','); + const res = await http.post(apiUrl, { requests: [ { indexName: 'all_actors', - params: `query=${actorSlug}`, + params: `query=${actorSlug}&facetFilters=[[${availableOnSites}]]`, + // params: `query=${actorSlug}`, }, ], }, { diff --git a/tests/profiles.js b/tests/profiles.js index 80dd9f87..8e4da05a 100644 --- a/tests/profiles.js +++ b/tests/profiles.js @@ -107,6 +107,7 @@ const actors = [ { entity: 'burningangel', name: 'Joanna Angel', fields: ['avatar', 'gender'] }, { entity: 'chaosmen', name: 'Kenzo Alvarez', fields: ['avatar', 'gender'] }, { entity: 'dogfartnetwork', name: 'Liz Jordan', fields: ['avatar', 'gender'] }, + { entity: 'devilsfilm', name: 'Katrina Colt', fields: ['avatar', 'gender'] }, { entity: 'diabolic', name: 'Kira Noir', fields: ['avatar', 'gender'] }, { entity: 'evilangel', name: 'Francesca Le', fields: ['avatar', 'gender'] }, { entity: 'fantasymassage', name: 'Cherry Kiss', fields: ['avatar', 'gender', 'description', 'eyes', 'hairColor'] },