Compare commits

...

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian 1a2bf77692 1.245.21 2026-01-11 23:46:40 +01:00
DebaucheryLibrarian d855100770 Using Cherry Pimps scene page poster as photo if base release has poster. 2026-01-11 23:46:38 +01:00
3 changed files with 13 additions and 7 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.245.20", "version": "1.245.21",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "traxxx", "name": "traxxx",
"version": "1.245.20", "version": "1.245.21",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@aws-sdk/client-s3": "^3.458.0", "@aws-sdk/client-s3": "^3.458.0",

View File

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

View File

@ -46,7 +46,7 @@ async function fetchLatest(channel, page = 1) {
return res.status; return res.status;
} }
function scrapeScene({ query }, url) { function scrapeScene({ query }, url, _channel, baseRelease) {
const release = { url }; const release = { url };
const { pathname } = new URL(url); const { pathname } = new URL(url);
@ -71,22 +71,28 @@ function scrapeScene({ query }, url) {
release.tags = query.contents('.update-info-block a[href*="categories/"]'); release.tags = query.contents('.update-info-block a[href*="categories/"]');
release.poster = [ const poster = [
query.img('.update_thumb', { attribute: 'src0_3x' }), query.img('.update_thumb', { attribute: 'src0_3x' }),
query.img('.update_thumb', { attribute: 'src0_2x' }), query.img('.update_thumb', { attribute: 'src0_2x' }),
query.img('.update_thumb', { attribute: 'src0_1x' }), // usually only this one available query.img('.update_thumb', { attribute: 'src0_1x' }), // usually only this one available
].filter(Boolean); ].filter(Boolean);
if (baseRelease?.poster) { // different poster on homepage, preserve
release.photos = [poster];
} else {
release.poster = poster;
}
// faux video trailer player redirects to signup // faux video trailer player redirects to signup
return release; return release;
} }
async function fetchScene(url, site, release) { async function fetchScene(url, channel, baseRelease) {
const res = await unprint.get(url); const res = await unprint.get(url);
if (res.ok) { if (res.ok) {
return scrapeScene(res.context, url, site, release); return scrapeScene(res.context, url, channel, baseRelease);
} }
return res.status; return res.status;