Generating and using URL slugs for releases, improver slugify module. Added 'extract' parameter to MindGeek scraper to get scenes not associate with a channel (see Digital Playground). Added various high res logos.

This commit is contained in:
2020-02-04 03:12:09 +01:00
parent ca33704f51
commit f921bb4ae9
30 changed files with 132 additions and 22 deletions

View File

@@ -1,5 +1,6 @@
'use strict';
const config = require('config');
const Promise = require('bluebird');
const moment = require('moment');
@@ -16,6 +17,7 @@ const {
storeTrailer,
} = require('./media');
const { fetchSites, findSiteByUrl } = require('./sites');
const slugify = require('./utils/slugify');
function commonQuery(queryBuilder, {
filter = [],
@@ -204,6 +206,11 @@ async function attachStudio(release) {
}
async function curateReleaseEntry(release) {
const slug = slugify(release.title, {
encode: true,
limit: config.titleSlugLength,
});
const curatedRelease = {
site_id: release.site.id,
studio_id: release.studio ? release.studio.id : null,
@@ -213,6 +220,7 @@ async function curateReleaseEntry(release) {
type: release.type,
url: release.url,
title: release.title,
slug,
date: release.date,
description: release.description,
// director: release.director,
@@ -397,7 +405,7 @@ async function storeRelease(release) {
logger.info(`Stored release "${release.title}" (${releaseEntry.id}, ${release.site.name})`);
return releaseEntry.id;
return releaseEntry;
}
async function storeReleases(releases) {
@@ -405,10 +413,11 @@ async function storeReleases(releases) {
try {
const releaseWithChannelSite = await attachChannelSite(release);
const releaseWithStudio = await attachStudio(releaseWithChannelSite);
const releaseId = await storeRelease(releaseWithStudio);
const { id, slug } = await storeRelease(releaseWithStudio);
return {
id: releaseId,
id,
slug,
...releaseWithChannelSite,
};
} catch (error) {