Fixed beforeFetchScenes not running for update releases. Fixed Hookup Hotshot deep scrape broken due missing NATS cookie.

This commit is contained in:
DebaucheryLibrarian
2026-10-03 06:32:03 +02:00
parent b700e05c5e
commit 84ac366e36
5 changed files with 84 additions and 11 deletions
+23 -1
View File
@@ -1,6 +1,7 @@
'use strict';
const unprint = require('unprint');
const { nanoid } = require('nanoid');
function scrapeAll(scenes, _channel) {
return scenes.map(({ query }) => {
@@ -40,6 +41,12 @@ async function fetchLatest(channel, page = 1) {
return res.status;
}
async function beforeFetchScenes(channel) {
const res = await unprint.get(channel.url);
return { nats: res.cookies.nats || nanoid() };
}
function scrapeScene({ query, html }, { url, entity, baseRelease }) {
const release = {};
@@ -81,6 +88,20 @@ function scrapeScene({ query, html }, { url, entity, baseRelease }) {
return release;
}
async function fetchScene(url, entity, baseRelease, context) {
const res = await unprint.get(url, {
cookies: {
nats: context.beforeFetchScenes?.nats,
},
});
if (res.ok) {
return scrapeScene(res.context, { url, entity, baseRelease });
}
return res.status;
}
function scrapeProfile({ query }) {
const profile = {};
@@ -110,5 +131,6 @@ async function fetchProfile(actor, entity) {
module.exports = {
fetchLatest,
fetchProfile,
scrapeScene,
fetchScene,
beforeFetchScenes,
};