forked from DebaucheryLibrarian/traxxx
Added profile scraping in try/catch block. Re-added boobs enhanced info to actor page.
This commit is contained in:
parent
31a8f1cac1
commit
de36ed97e4
|
@ -73,12 +73,12 @@
|
||||||
|
|
||||||
<li v-if="actor.bust || actor.waist || actor.hip">
|
<li v-if="actor.bust || actor.waist || actor.hip">
|
||||||
<dfn class="bio-heading">Measurements</dfn>
|
<dfn class="bio-heading">Measurements</dfn>
|
||||||
<span>{{ actor.bust || '??' }}-{{ actor.waist || '??' }}-{{ actor.hip || '??' }}</span>
|
<span>{{ actor.bust || '??' }}-{{ actor.waist || '??' }}-{{ actor.hip || '??' }} <span v-if="actor.naturalBoobs !== undefined">({{ actor.naturalBoobs ? 'Natural' : 'Enhanced' }})</span></span>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li v-if="actor.social && actor.social.length > 0">
|
<li v-if="actor.social && actor.social.length > 0">
|
||||||
<dfn class="bio-heading">Social</dfn>
|
<dfn class="bio-heading">Social</dfn>
|
||||||
<span v-for="social in actor.social">{{ social }}</span>
|
{{ actor.social.join(',') }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
|
@ -183,39 +183,43 @@ function mergeProfiles(profiles, actor) {
|
||||||
|
|
||||||
async function scrapeActors(actorNames) {
|
async function scrapeActors(actorNames) {
|
||||||
await Promise.map(actorNames || argv.actors, async (actorName) => {
|
await Promise.map(actorNames || argv.actors, async (actorName) => {
|
||||||
const actorSlug = actorName.toLowerCase().replace(/\s+/g, '-');
|
try {
|
||||||
|
const actorSlug = actorName.toLowerCase().replace(/\s+/g, '-');
|
||||||
|
|
||||||
const actorEntry = await knex('actors').where({ slug: actorSlug }).first();
|
const actorEntry = await knex('actors').where({ slug: actorSlug }).first();
|
||||||
const profiles = await Promise.all(
|
const profiles = await Promise.all(
|
||||||
Object.values(scrapers.actors)
|
Object.values(scrapers.actors)
|
||||||
.map(scraper => scraper.fetchProfile(actorEntry ? actorEntry.name : actorName)),
|
.map(scraper => scraper.fetchProfile(actorEntry ? actorEntry.name : actorName)),
|
||||||
);
|
);
|
||||||
|
|
||||||
const profile = mergeProfiles(profiles, actorEntry);
|
const profile = mergeProfiles(profiles, actorEntry);
|
||||||
|
|
||||||
if (profile === null) {
|
if (profile === null) {
|
||||||
console.log(`Could not find profile for actor '${actorName}'`);
|
console.log(`Could not find profile for actor '${actorName}'`);
|
||||||
await updateActor(profile, true, false);
|
await updateActor(profile, true, false);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (actorEntry && profile) {
|
||||||
|
await createActorMediaDirectory(profile, actorEntry);
|
||||||
|
|
||||||
|
await Promise.all([
|
||||||
|
updateActor(profile, true, true),
|
||||||
|
storeAvatars(profile, actorEntry),
|
||||||
|
]);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const newActorEntry = await storeActor(profile, true, true);
|
||||||
|
|
||||||
|
await createActorMediaDirectory(profile, newActorEntry);
|
||||||
|
await storeAvatars(profile, newActorEntry);
|
||||||
|
} catch (error) {
|
||||||
|
console.warn(actorName, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (actorEntry && profile) {
|
|
||||||
await createActorMediaDirectory(profile, actorEntry);
|
|
||||||
|
|
||||||
await Promise.all([
|
|
||||||
updateActor(profile, true, true),
|
|
||||||
storeAvatars(profile, actorEntry),
|
|
||||||
]);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const newActorEntry = await storeActor(profile, true, true);
|
|
||||||
|
|
||||||
await createActorMediaDirectory(profile, newActorEntry);
|
|
||||||
await storeAvatars(profile, newActorEntry);
|
|
||||||
}, {
|
}, {
|
||||||
concurrency: 3,
|
concurrency: 3,
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue