Added Top Web Models framework.
This commit is contained in:
parent
dbdf0fcc0b
commit
12c3f0d7b9
|
@ -83,7 +83,7 @@
|
|||
v-if="entity.children.length > 0"
|
||||
v-slot="scroll"
|
||||
:expanded="expanded"
|
||||
class="scroll-dark"
|
||||
class="scroll-light"
|
||||
@expand="(state) => expanded = state"
|
||||
>
|
||||
<Children
|
||||
|
|
|
@ -34,15 +34,15 @@ export default {
|
|||
padding: .5rem;
|
||||
|
||||
.icon {
|
||||
fill: var(--shadow);
|
||||
fill: var(--lighten);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
background: var(--shadow-hint);
|
||||
background: var(--lighten-hint);
|
||||
|
||||
.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 |
|
@ -1104,7 +1104,7 @@ const aliases = [
|
|||
for: 'titty-fucking',
|
||||
},
|
||||
{
|
||||
name: 'behind the scenes',
|
||||
name: 'bts',
|
||||
for: 'bts',
|
||||
secondary: true,
|
||||
},
|
||||
|
|
|
@ -464,6 +464,11 @@ const networks = [
|
|||
name: 'Teen Core Club',
|
||||
url: 'https://teencoreclub.com',
|
||||
},
|
||||
{
|
||||
slug: 'topwebmodels',
|
||||
name: 'Top Web Models',
|
||||
url: 'https://tour.topwebmodels.com',
|
||||
},
|
||||
{
|
||||
slug: 'transbella',
|
||||
name: 'Trans Bella',
|
||||
|
|
|
@ -8704,6 +8704,79 @@ const sites = [
|
|||
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
|
||||
{
|
||||
name: 'Trans Bella',
|
||||
|
@ -9273,7 +9346,7 @@ exports.seed = knex => Promise.resolve()
|
|||
|
||||
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 sitesWithNetworks = sites.map(site => ({
|
||||
|
|
|
@ -66,6 +66,7 @@ const sextreme = require('./21sextreme');
|
|||
const sextury = require('./21sextury');
|
||||
const teamskeet = require('./teamskeet');
|
||||
const teencoreclub = require('./teencoreclub');
|
||||
const topwebmodels = require('./topwebmodels');
|
||||
const transangels = require('./transangels');
|
||||
const traxxx = require('./traxxx');
|
||||
const twistys = require('./twistys');
|
||||
|
@ -160,6 +161,7 @@ const scrapers = {
|
|||
swallowsalon: julesjordan,
|
||||
teencoreclub,
|
||||
teamskeet,
|
||||
topwebmodels,
|
||||
transbella: porndoe,
|
||||
traxxx,
|
||||
twistys,
|
||||
|
|
|
@ -40,6 +40,18 @@ function formatDate(dateValue, format, inputFormat) {
|
|||
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') {
|
||||
if (!urlValue) {
|
||||
return null;
|
||||
|
@ -316,12 +328,10 @@ function duration(context, selector, match, attr = 'textContent') {
|
|||
const durationString = q(context, selector, attr);
|
||||
|
||||
if (!durationString) return null;
|
||||
const durationMatch = durationString.match(match || /(\d+:)?\d+:\d+/);
|
||||
const durationMatch = durationToSeconds(durationString, match);
|
||||
|
||||
if (durationMatch) {
|
||||
const segments = ['00'].concat(durationMatch[0].split(/[:hm]/)).slice(-3);
|
||||
|
||||
return moment.duration(segments.join(':')).asSeconds();
|
||||
return durationMatch;
|
||||
}
|
||||
|
||||
const timestampMatch = durationString.match(/(\d+H)?\s*(\d+M)?\s*\d+S?/i);
|
||||
|
@ -526,6 +536,7 @@ module.exports = {
|
|||
extractDate,
|
||||
extract,
|
||||
extractAll,
|
||||
durationToSeconds,
|
||||
init,
|
||||
initAll,
|
||||
formatDate,
|
||||
|
|
Loading…
Reference in New Issue