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">
|
||||
<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 v-if="actor.social && actor.social.length > 0">
|
||||
<dfn class="bio-heading">Social</dfn>
|
||||
<span v-for="social in actor.social">{{ social }}</span>
|
||||
{{ actor.social.join(',') }}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -183,39 +183,43 @@ function mergeProfiles(profiles, actor) {
|
|||
|
||||
async function scrapeActors(actorNames) {
|
||||
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 profiles = await Promise.all(
|
||||
Object.values(scrapers.actors)
|
||||
.map(scraper => scraper.fetchProfile(actorEntry ? actorEntry.name : actorName)),
|
||||
);
|
||||
const actorEntry = await knex('actors').where({ slug: actorSlug }).first();
|
||||
const profiles = await Promise.all(
|
||||
Object.values(scrapers.actors)
|
||||
.map(scraper => scraper.fetchProfile(actorEntry ? actorEntry.name : actorName)),
|
||||
);
|
||||
|
||||
const profile = mergeProfiles(profiles, actorEntry);
|
||||
const profile = mergeProfiles(profiles, actorEntry);
|
||||
|
||||
if (profile === null) {
|
||||
console.log(`Could not find profile for actor '${actorName}'`);
|
||||
await updateActor(profile, true, false);
|
||||
if (profile === null) {
|
||||
console.log(`Could not find profile for actor '${actorName}'`);
|
||||
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,
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue