Added Top Web Models framework.

This commit is contained in:
DebaucheryLibrarian 2021-01-14 01:37:50 +01:00
parent dbdf0fcc0b
commit 12c3f0d7b9
9 changed files with 101 additions and 10 deletions

View File

@ -83,7 +83,7 @@
v-if="entity.children.length > 0" v-if="entity.children.length > 0"
v-slot="scroll" v-slot="scroll"
:expanded="expanded" :expanded="expanded"
class="scroll-dark" class="scroll-light"
@expand="(state) => expanded = state" @expand="(state) => expanded = state"
> >
<Children <Children

View File

@ -34,15 +34,15 @@ export default {
padding: .5rem; padding: .5rem;
.icon { .icon {
fill: var(--shadow); fill: var(--lighten);
} }
&:hover { &:hover {
cursor: pointer; cursor: pointer;
background: var(--shadow-hint); background: var(--lighten-hint);
.icon { .icon {
fill: var(--text); fill: var(--text-light);
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1104,7 +1104,7 @@ const aliases = [
for: 'titty-fucking', for: 'titty-fucking',
}, },
{ {
name: 'behind the scenes', name: 'bts',
for: 'bts', for: 'bts',
secondary: true, secondary: true,
}, },

View File

@ -464,6 +464,11 @@ const networks = [
name: 'Teen Core Club', name: 'Teen Core Club',
url: 'https://teencoreclub.com', url: 'https://teencoreclub.com',
}, },
{
slug: 'topwebmodels',
name: 'Top Web Models',
url: 'https://tour.topwebmodels.com',
},
{ {
slug: 'transbella', slug: 'transbella',
name: 'Trans Bella', name: 'Trans Bella',

View File

@ -8704,6 +8704,79 @@ const sites = [
parameters: {}, parameters: {},
}, },
*/ */
// TOP WEB MODELS
{
name: '2 Girls 1 Camera',
slug: '2girls1camera',
url: 'https://tour.2girls1camera.com',
tags: ['mff'],
parent: 'topwebmodels',
},
{
name: 'Big Gulp Girls',
slug: 'biggulpgirls',
url: 'https://tour.biggulpgirls.com',
parent: 'topwebmodels',
},
{
name: 'Cougar Season',
slug: 'cougarseason',
url: 'https://tour.cougarseason.com',
tags: ['milf'],
parent: 'topwebmodels',
},
{
name: 'Deepthroat Sirens',
slug: 'deepthroatsirens',
url: 'https://tour.deepthroatsirens.com',
tags: ['blowjob', 'deepthroat'],
parent: 'topwebmodels',
},
{
name: 'Facials Forever',
slug: 'facialsforever',
url: 'https://tour.facialsforever.com',
tags: ['facial'],
parent: 'topwebmodels',
},
{
name: 'Pounded Petite',
slug: 'poundedpetite',
url: 'https://tour.poundedpetite.com',
parent: 'topwebmodels',
},
{
name: 'She\'s Brand New',
slug: 'shesbrandnew',
url: 'https://tour.shesbrandnew.com',
parent: 'topwebmodels',
},
{
name: 'TWM Classics',
slug: 'twmclassics',
url: 'https://tour.topwebmodels.com/sites/twmclassics',
parent: 'topwebmodels',
},
{
name: 'TWM Interviews',
slug: 'twminterviews',
url: 'https://tour.topwebmodels.com/sites/topwebmodels-interviews',
tags: ['bts'],
parent: 'topwebmodels',
hasLogo: false,
parameters: {
slug: 'topwebmodels-interviews',
},
},
{
name: 'TWM Porn Vault',
slug: 'twmpornvault',
url: 'https://tour.topwebmodels.com/sites/twm-porn-vault',
parent: 'topwebmodels',
parameters: {
slug: 'twm-porn-vault',
},
},
// TRANS BELLA // TRANS BELLA
{ {
name: 'Trans Bella', name: 'Trans Bella',
@ -9273,7 +9346,7 @@ exports.seed = knex => Promise.resolve()
const networksMap = networks.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {}); const networksMap = networks.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {});
const tags = await knex('tags').select('*').where('alias_for', null); const tags = await knex('tags').select('*').whereNull('alias_for');
const tagsMap = tags.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {}); const tagsMap = tags.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {});
const sitesWithNetworks = sites.map(site => ({ const sitesWithNetworks = sites.map(site => ({

View File

@ -66,6 +66,7 @@ const sextreme = require('./21sextreme');
const sextury = require('./21sextury'); const sextury = require('./21sextury');
const teamskeet = require('./teamskeet'); const teamskeet = require('./teamskeet');
const teencoreclub = require('./teencoreclub'); const teencoreclub = require('./teencoreclub');
const topwebmodels = require('./topwebmodels');
const transangels = require('./transangels'); const transangels = require('./transangels');
const traxxx = require('./traxxx'); const traxxx = require('./traxxx');
const twistys = require('./twistys'); const twistys = require('./twistys');
@ -160,6 +161,7 @@ const scrapers = {
swallowsalon: julesjordan, swallowsalon: julesjordan,
teencoreclub, teencoreclub,
teamskeet, teamskeet,
topwebmodels,
transbella: porndoe, transbella: porndoe,
traxxx, traxxx,
twistys, twistys,

View File

@ -40,6 +40,18 @@ function formatDate(dateValue, format, inputFormat) {
return moment(dateValue).format(format); return moment(dateValue).format(format);
} }
function durationToSeconds(durationString, match) {
const durationMatch = durationString.match(match || /(\d+:)?\d+:\d+/);
if (durationMatch) {
const segments = ['00'].concat(durationMatch[0].split(/[:hm]/)).slice(-3);
return moment.duration(segments.join(':')).asSeconds();
}
return null;
}
function prefixUrl(urlValue, origin, protocol = 'https') { function prefixUrl(urlValue, origin, protocol = 'https') {
if (!urlValue) { if (!urlValue) {
return null; return null;
@ -316,12 +328,10 @@ function duration(context, selector, match, attr = 'textContent') {
const durationString = q(context, selector, attr); const durationString = q(context, selector, attr);
if (!durationString) return null; if (!durationString) return null;
const durationMatch = durationString.match(match || /(\d+:)?\d+:\d+/); const durationMatch = durationToSeconds(durationString, match);
if (durationMatch) { if (durationMatch) {
const segments = ['00'].concat(durationMatch[0].split(/[:hm]/)).slice(-3); return durationMatch;
return moment.duration(segments.join(':')).asSeconds();
} }
const timestampMatch = durationString.match(/(\d+H)?\s*(\d+M)?\s*\d+S?/i); const timestampMatch = durationString.match(/(\d+H)?\s*(\d+M)?\s*\d+S?/i);
@ -526,6 +536,7 @@ module.exports = {
extractDate, extractDate,
extract, extract,
extractAll, extractAll,
durationToSeconds,
init, init,
initAll, initAll,
formatDate, formatDate,