Added Kelly Madison profile scraper.

This commit is contained in:
2019-12-10 22:35:00 +01:00
parent 8802bb4317
commit b9bac6d8f9
11 changed files with 133 additions and 25 deletions

View File

@@ -1,6 +1,8 @@
'use strict';
const Promise = require('bluebird');
const moment = require('moment');
const knex = require('./knex');
const argv = require('./argv');
const whereOr = require('./utils/where-or');
@@ -17,9 +19,14 @@ const { fetchSites, findSiteByUrl } = require('./sites');
async function curateRelease(release) {
const [actors, tags, media] = await Promise.all([
knex('actors_associated')
.select('actors.id', 'actors.name', 'actors.gender', 'actors.slug', 'media.thumbnail as avatar')
.select(
'actors.id', 'actors.name', 'actors.gender', 'actors.slug', 'actors.birthdate',
'birth_countries.alpha2 as birth_country_alpha2', 'birth_countries.name as birth_country_name', 'birth_countries.alias as birth_country_alias',
'media.thumbnail as avatar',
)
.where({ release_id: release.id })
.leftJoin('actors', 'actors.id', 'actors_associated.actor_id')
.leftJoin('countries as birth_countries', 'actors.birth_country_alpha2', 'birth_countries.alpha2')
.leftJoin('media', (builder) => {
builder
.on('media.target_id', 'actors.id')
@@ -52,7 +59,21 @@ async function curateRelease(release) {
url: release.url,
shootId: release.shoot_id,
entryId: release.entry_id,
actors,
actors: actors.map(actor => ({
id: actor.id,
slug: actor.slug,
name: actor.name,
gender: actor.gender,
birthdate: actor.birthdate,
age: moment().diff(actor.birthdate, 'years'),
avatar: actor.avatar,
origin: {
country: {
name: actor.birth_country_alias,
alpha2: actor.birth_country_alpha2,
},
},
})),
director: release.director,
tags,
duration: release.duration,