Added Milfy to profile list, fixed Vixen not returning gracefully when profile is not found.

This commit is contained in:
DebaucheryLibrarian 2023-07-22 00:49:56 +02:00
parent 25f3dcf9a5
commit 80750b44dc
3 changed files with 22 additions and 12 deletions

View File

@ -461,17 +461,20 @@ async function curateProfile(profile, actor) {
}
}
curatedProfile.social = Array.isArray(profile.social)
? profile.social.map((social) => {
try {
const { href } = new URL(social);
return href;
} catch (error) {
logger.warn(`Profile scraper for '${profile.entity.name}' returned invalid social link: ${social}`);
return null;
}
}).filter(Boolean)
: [];
curatedProfile.social = [].concat(profile.social).map((social) => {
if (!social) {
return null;
}
try {
const { origin, pathname } = new URL(social);
return `${origin}${pathname}`;
} catch (error) {
logger.warn(`Profile scraper for '${profile.entity.name}' returned invalid social link: ${social}`);
return null;
}
}).filter(Boolean);
curatedProfile.scenes = toBaseReleases(profile.scenes || profile.releases, profile.entity, actor)
// attach actor to base scene, in case it was not scraped
@ -771,6 +774,10 @@ async function scrapeProfiles(actor, sources, entitiesBySlug, existingProfilesBy
return profiles.filter(Boolean);
}
async function associateSocials(profiles) {
console.log('profiles', profiles);
}
async function getActorNames(actorNames) {
if (actorNames.length > 0) {
return actorNames;
@ -794,6 +801,8 @@ async function storeProfiles(profiles) {
const profilesWithAvatarIds = await associateAvatars(profiles);
const actorIds = Array.from(new Set(profiles.map((profile) => profile.id)));
// await associateSocials(profiles);
await upsertProfiles(profilesWithAvatarIds);
await interpolateProfiles(actorIds);
}

View File

@ -247,6 +247,7 @@ const scrapers = {
mariskax,
metrohd: mindgeek,
milehighmedia: mindgeek,
milfy: vixen,
milfvr: wankzvr,
mofos: mindgeek,
mylf: teamskeet,

View File

@ -611,7 +611,7 @@ async function fetchProfile(actor, { channel }) {
},
});
if (res.ok) {
if (res.ok && res.body.data?.model) {
return scrapeProfile(res.body.data, channel);
}