Compare commits
4 Commits
64a52fbb1e
...
f4b1fb4831
Author | SHA1 | Date |
---|---|---|
|
f4b1fb4831 | |
|
8c553d5b3d | |
|
e40d7ba181 | |
|
4469376dd2 |
|
@ -61,6 +61,10 @@ module.exports = {
|
||||||
// mindgeek
|
// mindgeek
|
||||||
'pornhub',
|
'pornhub',
|
||||||
],
|
],
|
||||||
|
networks: [
|
||||||
|
// dummy network for testing
|
||||||
|
'traxxx',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
profiles: [
|
profiles: [
|
||||||
[
|
[
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.138.5",
|
"version": "1.138.7",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.138.5",
|
"version": "1.138.7",
|
||||||
"description": "All the latest porn releases in one place",
|
"description": "All the latest porn releases in one place",
|
||||||
"main": "src/app.js",
|
"main": "src/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -696,11 +696,14 @@ async function scrapeActors(argNames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getOrCreateActors(baseActors, batchId) {
|
async function getOrCreateActors(baseActors, batchId) {
|
||||||
const existingActors = await knex('actors')
|
// WHERE IN causes stack depth error and performance issues with a large amount of values, no knex VALUES helper available
|
||||||
.select('id', 'alias_for', 'name', 'slug', 'entity_id')
|
const actorValues = baseActors.map(actor => knex.raw('(:slug, :entityId)', { slug: actor.slug, entityId: actor.entity.id })).join(', ');
|
||||||
.whereIn('slug', baseActors.map(baseActor => baseActor.slug))
|
|
||||||
.whereNull('entity_id')
|
const existingActors = await knex
|
||||||
.orWhereIn(['slug', 'entity_id'], baseActors.map(baseActor => [baseActor.slug, baseActor.entity.id]));
|
.select('actors.*')
|
||||||
|
.from(knex.raw(`actors, (VALUES ${actorValues}) AS base_actors (slug, entity_id)`))
|
||||||
|
.whereRaw('actors.slug = base_actors.slug AND actors.entity_id IS NULL')
|
||||||
|
.orWhereRaw('actors.slug = base_actors.slug AND actors.entity_id = base_actors.entity_id');
|
||||||
|
|
||||||
// const existingActorSlugs = new Set(existingActors.map(actor => actor.slug));
|
// const existingActorSlugs = new Set(existingActors.map(actor => actor.slug));
|
||||||
const existingActorSlugs = existingActors.reduce((acc, actor) => ({
|
const existingActorSlugs = existingActors.reduce((acc, actor) => ({
|
||||||
|
|
Loading…
Reference in New Issue