Fixed Teen Mega World posters.

This commit is contained in:
DebaucheryLibrarian
2026-02-08 21:14:51 +01:00
parent f2c2c7856b
commit 28ded0b4b9
4 changed files with 25 additions and 22 deletions

View File

@@ -20,12 +20,12 @@ function scrapeAll(scenes, channel) {
url: unprint.query.url(el, null),
}));
release.poster = query.img('.thumb__picture img');
release.poster = query.sourceSet('.thumb__picture img', 'srcset', { origin: channel.origin });
[release.poster, ...release.photos] = Object
release.photos = Object
.entries(query.el('.thumb__image').dataset)
.filter(([key]) => /^src/.test(key))
.map(([, value]) => [value.replace('-1x', '-2x'), value].map((path) => unprint.prefixUrl(path, network.url)));
.filter(([key]) => key.includes('srcset-'))
.map(([_key, value]) => unprint.extractSourceSet(value, { origin: channel.origin }));
release.teaser = query.video('.thumb__video', { origin: network.url });
@@ -41,6 +41,17 @@ function scrapeAll(scenes, channel) {
});
}
async function fetchLatest(channel, page = 1) {
const url = `${channel.type === 'network' ? channel.url : channel.parent.url}/search.php?site[]=${channel.parameters.siteId}&page=${page}`;
const res = await unprint.get(url, { selectAll: '.video-list .thumb' });
if (res.ok) {
return scrapeAll(res.context, channel);
}
return res.status;
}
function scrapeScene({ query }, context) {
const release = {};
@@ -59,9 +70,9 @@ function scrapeScene({ query }, context) {
release.tags = query.contents('.video-tag-link');
const poster = query.img('.video-cover__image');
const poster = query.sourceSet('.video-cover__image', 'srcset', { origin: context.entity.origin });
if (!poster.includes('error')) {
if (!poster?.includes('error')) {
release.poster = poster;
}
@@ -93,17 +104,6 @@ function scrapeProfile({ query }, url, entity) {
return profile;
}
async function fetchLatest(channel, page = 1) {
const url = `${channel.type === 'network' ? channel.url : channel.parent.url}/search.php?site[]=${channel.parameters.siteId}&page=${page}`;
const res = await unprint.get(url, { selectAll: '.video-list .thumb' });
if (res.ok) {
return scrapeAll(res.context, channel);
}
return res.status;
}
async function fetchProfile(actor, entity, include) {
const url = actor.url || `${entity.url}/models/${slugify(actor.name)}.html`;
const res = await unprint.get(url);

View File

@@ -25,6 +25,7 @@ function getAvatarFallbacks(avatar) {
src: source,
expectType: {
'binary/octet-stream': 'image/jpeg',
'application/octet-stream': 'image/jpeg',
},
}));
}
@@ -42,6 +43,7 @@ function curateSources(sources, type = 'image/jpeg') {
type: source.type || type,
expectType: {
'binary/octet-stream': type,
'application/octet-stream': type,
},
}))
.sort((resA, resB) => (resB.width * resB.height) - (resA.width * resA.height)) // number of pixels