From 5ff076cac3ea9f5a82620f442f068985c026f526 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Wed, 9 Mar 2022 23:26:48 +0100 Subject: [PATCH] Added DP Star Sex Challenges to Digital Playground. --- migrations/20220304233846_series.js | 98 +++++++++++++++++++++++++++++ seeds/02_sites.js | 7 +++ src/scrapers/mindgeek.js | 7 ++- 3 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 migrations/20220304233846_series.js diff --git a/migrations/20220304233846_series.js b/migrations/20220304233846_series.js new file mode 100644 index 00000000..c3a21d5f --- /dev/null +++ b/migrations/20220304233846_series.js @@ -0,0 +1,98 @@ +exports.up = async (knex) => Promise.resolve() + .then(() => knex.schema.createTable('series', (table) => { + table.increments('id', 16); + + table.integer('entity_id', 12) + .references('id') + .inTable('entities') + .notNullable(); + + table.integer('studio_id', 12) + .references('id') + .inTable('entities'); + + table.text('entry_id'); + table.unique(['entity_id', 'entry_id']); + + table.text('url', 1000); + table.text('title'); + table.text('slug'); + + table.timestamp('date'); + table.index('date'); + + table.enum('date_precision', ['year', 'month', 'week', 'day', 'hour', 'minute', 'second']) + .defaultTo('day'); + + table.text('description'); + + table.boolean('deep'); + table.text('deep_url', 1000); + + table.text('comment'); + + table.integer('created_batch_id', 12) + .references('id') + .inTable('batches') + .onDelete('cascade'); + + table.integer('updated_batch_id', 12) + .references('id') + .inTable('batches') + .onDelete('cascade'); + + table.datetime('created_at') + .defaultTo(knex.fn.now()); + })) + .then(() => knex.schema.createTable('series_scenes', (table) => { + table.integer('serie_id', 16) + .notNullable() + .references('id') + .inTable('series') + .onDelete('cascade'); + + table.integer('scene_id', 16) + .notNullable() + .references('id') + .inTable('releases') + .onDelete('cascade'); + + table.unique(['serie_id', 'scene_id']); + + table.datetime('created_at') + .defaultTo(knex.fn.now()); + })) + .then(() => knex.schema.createTable('series_trailers', (table) => { + table.integer('serie_id', 16) + .unique() + .notNullable() + .references('id') + .inTable('series') + .onDelete('cascade'); + + table.text('media_id', 21) + .notNullable() + .references('id') + .inTable('media'); + })) + .then(() => knex.schema.createTable('series_posters', (table) => { + table.integer('serie_id', 16) + .notNullable() + .references('id') + .inTable('series') + .onDelete('cascade'); + + table.text('media_id', 21) + .notNullable() + .references('id') + .inTable('media') + .onDelete('cascade'); + + table.unique('serie_id'); + })); + +exports.down = async (knex) => Promise.resolve() + .then(() => knex.schema.dropTable('series_covers')) + .then(() => knex.schema.dropTable('series_trailers')) + .then(() => knex.schema.dropTable('series_posters')) + .then(() => knex.schema.dropTable('series')); diff --git a/seeds/02_sites.js b/seeds/02_sites.js index e15ee593..dae97eee 100644 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -2680,6 +2680,13 @@ const sites = [ description: '', parent: 'digitalplayground', }, + { + slug: 'dpstarsexchallenges', + name: 'DP Star Sex Challenges', + url: 'https://www.digitalplayground.com/scenes?site=210', + parent: 'digitalplayground', + hasLogo: false, + }, { slug: 'blockbuster', name: 'Blockbuster', diff --git a/src/scrapers/mindgeek.js b/src/scrapers/mindgeek.js index 8c9e3a4c..5b8448cf 100644 --- a/src/scrapers/mindgeek.js +++ b/src/scrapers/mindgeek.js @@ -102,6 +102,9 @@ function scrapeLatestX(data, site, filterChannel) { }; } + const siteName = data.collections[0]?.name || data.brand; + release.channel = slugify(siteName, ''); + return release; } @@ -147,8 +150,8 @@ function scrapeRelease(data, url, channel, networkName) { release.url = url || `https://www.${networkName || data.brand}.com/scene/${entryId}/`; - if (data.parent?.type === 'movie') { - release.movie = { + if (data.parent?.type === 'movie' || data.parent?.type === 'serie') { + release[data.parent.type] = { entryId: data.parent.id, url: `${getBasePath(channel, '/movie')}/${data.parent.id}/${slugify(data.parent.title, '-', { removePunctuation: true })}`, title: data.parent.title,