From f3e2143b45ce9c4b3b30a4c55fb0147bfa1b13fc Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Mon, 2 Mar 2026 04:01:39 +0100 Subject: [PATCH] Fixed wrong date parse function call in Gamma scraper. Added Biphoria affiliate link. --- seeds/06_affiliates.js | 6 ++++++ src/scrapers/aylo.js | 10 +++++++--- src/scrapers/gamma.js | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/seeds/06_affiliates.js b/seeds/06_affiliates.js index de619c46..1ba81e95 100755 --- a/seeds/06_affiliates.js +++ b/seeds/06_affiliates.js @@ -539,6 +539,12 @@ const affiliates = [ url: 'https://www.g2fame.com/genderxfilms/go.php?pr=8&su=2&si=397&ad=277470&pa=index&ar=&buffer=', comment: 'per signup', }, + // gamma > biphoria + { + channel: 'biphoria', + url: 'https://www.g2fame.com/biphoria/go.php?pr=8&su=2&si=418&ad=277470&pa=index&ar=&buffer=', + comment: 'per signup', + }, // kelly madison / 8k { network: 'kellymadison', diff --git a/src/scrapers/aylo.js b/src/scrapers/aylo.js index 6e693c3f..d2526d24 100755 --- a/src/scrapers/aylo.js +++ b/src/scrapers/aylo.js @@ -57,7 +57,7 @@ function getCovers(images, target = 'cover') { } function getVideos(data) { - const teaserSources = data.videos.mediabook?.files; + const teaserSources = data.videos?.mediabook?.files; const trailerSources = data.children.find((child) => child.type === 'trailer')?.videos.full?.files; const teaser = teaserSources && Object.values(teaserSources).map((source) => ({ @@ -84,7 +84,7 @@ function scrapeLatestX(data, site, filterChannel, options) { release.url = `${basepath}/${data.id}/${slugify(release.title)}`; // spartanId doesn't work in URLs release.date = new Date(data.dateReleased); - release.duration = data.videos.mediabook?.length > 1 ? data.videos.mediabook.length : null; + release.duration = data.videos?.mediabook?.length > 1 ? data.videos.mediabook.length : null; release.actors = data.actors.map((actor) => ({ name: actor.name, gender: actor.gender })); release.tags = data.tags.map((tag) => tag.name); @@ -127,6 +127,10 @@ async function scrapeLatest(items, site, filterChannel, options) { } function scrapeRelease(data, url, channel, networkName, options) { + if (Array.isArray(data)) { + return null; + } + const release = {}; const { title, description } = data; @@ -136,7 +140,7 @@ function scrapeRelease(data, url, channel, networkName, options) { release.description = description; release.date = new Date(data.dateReleased); - release.duration = data.videos.mediabook?.length > 1 ? data.videos.mediabook.length : null; + release.duration = data.videos?.mediabook?.length > 1 ? data.videos.mediabook.length : null; release.actors = data.actors.map((actor) => ({ name: actor.name, gender: actor.gender })); release.tags = data.tags.map((tag) => tag.name); diff --git a/src/scrapers/gamma.js b/src/scrapers/gamma.js index 085488fa..209f4821 100755 --- a/src/scrapers/gamma.js +++ b/src/scrapers/gamma.js @@ -237,7 +237,7 @@ async function scrapeScene(data, site, options, movieScenes) { release.entryId = data.clip_id || data.movie_id; release.title = curateTitle(data.title, site); release.duration = data.length; - release.date = (data.date && new Date(data.date * 1000)) || unprint.parseDate(data.release_date || data.last_modified, 'YYYY-MM-DD'); + release.date = (data.date && new Date(data.date * 1000)) || unprint.extractDate(data.release_date || data.last_modified, 'YYYY-MM-DD'); release.director = data.directors[0]?.name || null; release.actors = data.actors.map((actor) => ({