Fixed beforeFetchScenes not running for update releases. Fixed Hookup Hotshot deep scrape broken due missing NATS cookie.
This commit is contained in:
@@ -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,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user