Setting composed title as page title. Using Teen Core Club title if it isn't shoot ID.

This commit is contained in:
ThePendulum 2020-07-03 04:42:20 +02:00
parent 48a127409e
commit c47fae3a1b
5 changed files with 102 additions and 24 deletions

View File

@ -103,7 +103,7 @@
>{{ release.title }}</h2>
<h2
v-if="release.actors.length > 0"
v-else-if="release.actors.length > 0"
class="title title-composed"
>
{{ release.actors.map(actor => actor.name).join(', ') }} for {{ release.entity.name }}
@ -240,7 +240,9 @@ import Scroll from '../scroll/scroll.vue';
import Expand from '../expand/expand.vue';
function pageTitle() {
return this.release && this.release.title;
return this.release
&& (this.release.title
|| (this.release.actors.length > 0 ? `${this.release.actors.map(actor => actor.name).join(', ')} for ${this.release.entity.name}` : null));
}
async function mounted() {

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -203,6 +203,7 @@ const sites = [
alias: ['dpf'],
url: 'https://www.dpfanatics.com',
description: 'Welcome to DPFanatics, brought to you by 21Sextury. DP Fanatics brings you the best DP sex and double penetration porn you can find. Double vaginal penetration, double anal, amateur and teen DP inside!',
tags: ['dp'],
parent: '21sextury',
parameters: {
referer: 'https://www.21sextury.com',
@ -5732,6 +5733,7 @@ const sites = [
name: 'AssTeenMouth',
slug: 'assteenmouth',
url: 'https://assteenmouth.com',
tags: ['anal'],
parent: 'teencoreclub',
parameters: {
siteId: '180',
@ -5751,6 +5753,7 @@ const sites = [
slug: 'analyzedgirls',
parent: 'teencoreclub',
url: 'https://analyzedgirls.com',
tags: ['anal'],
parameters: {
siteId: '178',
},
@ -5782,6 +5785,7 @@ const sites = [
slug: 'defiled18',
parent: 'teencoreclub',
url: 'https://defiled18.com',
tags: ['bdsm'],
parameters: {
siteId: '188',
},
@ -5791,6 +5795,7 @@ const sites = [
slug: 'doubleteamedteens',
parent: 'teencoreclub',
url: 'https://doubleteamedteens.com',
tags: ['dp', 'mfm', 'threesome'],
parameters: {
siteId: '190',
},
@ -5834,6 +5839,7 @@ const sites = [
slug: 'maketeengape',
parent: 'teencoreclub',
url: 'https://maketeengape.com',
tags: ['anal', 'gaping'],
parameters: {
siteId: '200',
},
@ -5852,6 +5858,7 @@ const sites = [
slug: 'seductive18',
parent: 'teencoreclub',
url: 'https://seductive18.com',
tags: ['teen'],
parameters: {
siteId: '204',
},
@ -5861,6 +5868,7 @@ const sites = [
slug: 'teenanalcasting',
parent: 'teencoreclub',
url: 'https://teenanalcasting.com',
tags: ['anal'],
parameters: {
siteId: '206',
},
@ -5888,6 +5896,7 @@ const sites = [
slug: 'teenstryblacks',
parent: 'teencoreclub',
url: 'https://teenstryblacks.com',
tags: ['interracial', 'bbc'],
parameters: {
siteId: '214',
},
@ -5906,24 +5915,11 @@ const sites = [
slug: 'teachmyass',
parent: 'teencoreclub',
url: 'https://teachmyass.com',
tags: ['anal'],
parameters: {
siteId: '368',
},
},
{
name: 'Nightclub',
slug: 'nightclub',
parent: 'teencoreclub',
url: 'https://nightclub.com',
parameters: {},
},
{
name: 'Nightclub Live',
slug: 'nightclublive',
parent: 'teencoreclub',
url: 'https://nightclublive.com',
parameters: {},
},
{
name: 'Drilled Chicks',
slug: 'drilledchicks',
@ -5936,6 +5932,7 @@ const sites = [
slug: 'analcheckups',
parent: 'teencoreclub',
url: 'https://analcheckups.com',
tags: ['anal'],
parameters: {},
},
{
@ -5945,13 +5942,6 @@ const sites = [
url: 'https://fabsluts.com',
parameters: {},
},
{
name: 'Jerk-Off Pass',
slug: 'jerkoffpass',
parent: 'teencoreclub',
url: 'https://jerkoffpass.com',
parameters: {},
},
{
name: 'Nylon Spunk Junkies',
slug: 'nylonspunkjunkies',
@ -5964,6 +5954,7 @@ const sites = [
slug: 'shegotsix',
parent: 'teencoreclub',
url: 'https://shegotsix.com',
tags: ['gangbang'],
parameters: {},
},
{
@ -6013,17 +6004,39 @@ const sites = [
slug: 'youngthroats',
parent: 'teencoreclub',
url: 'https://youngthroats.com',
tags: ['blowjob', 'facefucking', 'deepthroat'],
parameters: {
siteId: '220',
},
},
/* VOD service
/* VOD services
{
name: 'Nightclub',
slug: 'nightclub',
parent: 'teencoreclub',
url: 'https://nightclub.com',
parameters: {},
},
{
name: 'Nightclub Live',
slug: 'nightclublive',
parent: 'teencoreclub',
url: 'https://nightclublive.com',
parameters: {},
},
{
name: "Let's Go Dirty",
slug: 'letsgodirty',
parent: 'teencoreclub',
url: 'https://letsgodirty.com',
},
{
name: 'Jerk-Off Pass',
slug: 'jerkoffpass',
parent: 'teencoreclub',
url: 'https://jerkoffpass.com',
parameters: {},
},
*/
// TWISTYS
{

View File

@ -0,0 +1,63 @@
'use strict';
const moment = require('moment');
const http = require('../utils/http');
const { prefixUrl } = require('../utils/qu');
function scrapeLatest(scenes, entity) {
return scenes.map((scene) => {
const release = {};
release.entryId = scene.id;
release.url = `${entity.url}/video/${scene.id}/${scene.slug}`;
if (/bic/i.test(scene.title)) {
release.shootId = scene.title.toUpperCase().replace('-', '_');
} else {
release.title = scene.title;
}
release.description = scene.description;
release.date = moment.utc(scene.year, 'YYYY').toDate();
release.datePrecision = 'year';
release.actors = scene.actors.map(actor => ({
name: actor.name,
avatar: actor.image,
}));
release.duration = scene.duration;
release.stars = scene.video_rating_score;
[release.poster, ...release.photos] = scene.screenshots.map(url => prefixUrl(url));
if (scene.is_gay) {
release.tags = ['gay'];
}
console.log(scene);
console.log(release);
return release;
});
}
async function fetchLatest(entity, page = 1) {
// console.log(entity, page);
if (entity.parameters?.siteId) {
const res = await http.get(`https://teencoreclub.com/browsevideos/api/all?resType=all&page=${page}&label=${entity.parameters.siteId}`);
if (res.ok) {
return scrapeLatest(res.body.data, entity);
}
return res.status;
}
return null;
}
module.exports = {
fetchLatest,
};