diff --git a/assets/components/actor/actor.vue b/assets/components/actor/actor.vue index 24c3146b..073e1f0a 100644 --- a/assets/components/actor/actor.vue +++ b/assets/components/actor/actor.vue @@ -75,6 +75,11 @@ Measurements {{ actor.bust || '??' }}-{{ actor.waist || '??' }}-{{ actor.hip || '??' }} + +
  • + Social + {{ social }} +
  • {{ actor.description }} diff --git a/src/actors.js b/src/actors.js index 2b26601d..9b3e3169 100644 --- a/src/actors.js +++ b/src/actors.js @@ -11,7 +11,9 @@ const { createActorMediaDirectory, storeAvatars } = require('./media'); async function curateActor(actor) { const [aliases, avatars] = await Promise.all([ knex('actors').where({ alias_for: actor.id }), - knex('media').where({ domain: 'actors', target_id: actor.id }), + knex('media') + .where({ domain: 'actors', target_id: actor.id }) + .orderBy('index'), ]); return { diff --git a/src/scrapers/brazzers.js b/src/scrapers/brazzers.js index 59711334..766b131c 100644 --- a/src/scrapers/brazzers.js +++ b/src/scrapers/brazzers.js @@ -148,7 +148,7 @@ function scrapeProfile(html, url, actorName) { }; if (bio.Ethnicity) profile.ethnicity = bio.Ethnicity; - if (bio.Measurements) [profile.bust, profile.waist, profile.hip] = bio.Measurements.split('-'); + if (bio.Measurements && bio.Measurements.match(/\w+-\d+-\d+/)) [profile.bust, profile.waist, profile.hip] = bio.Measurements.split('-'); if (bio['Date of Birth'] && bio['Date of Birth'] !== 'Unknown') profile.birthdate = moment.utc(bio['Date of Birth'], 'MMMM DD, YYYY').toDate(); if (bio['Birth Location']) profile.birthPlace = bio['Birth Location']; if (bio['Pussy Type']) profile.pussy = bio['Pussy Type'].split(',').slice(-1)[0].toLowerCase(); diff --git a/src/scrapers/legalporno.js b/src/scrapers/legalporno.js index 0befca39..54738bfe 100644 --- a/src/scrapers/legalporno.js +++ b/src/scrapers/legalporno.js @@ -79,7 +79,10 @@ async function scrapeProfile(html, _url, actorName) { const avatarEl = document.querySelector('.model--avatar img[src^="http"]'); const entries = Array.from(document.querySelectorAll('.model--description tr'), el => el.textContent.replace(/\n/g, '').split(':')); - const bio = entries.reduce((acc, [key, value]) => ({ ...acc, [key.trim()]: value.trim() }), {}); + + const bio = entries + .filter(entry => entry.length === 2) // ignore entries without ':' (About section, see Blanche Bradburry) + .reduce((acc, [key, value]) => ({ ...acc, [key.trim()]: value.trim() }), {}); const birthCountryName = bio.Nationality;