Added showcased column, hiding most LegalPorno/AnalVids studios. Refined Adult Time network structure.

This commit is contained in:
DebaucheryLibrarian 2022-10-05 22:01:27 +02:00
parent b130e98430
commit a6905e4664
61 changed files with 122 additions and 120 deletions

View File

@ -434,19 +434,19 @@ const releasesFragment = `
or: [
{
entity: {
slug: {
notEqualTo: "analvids"
showcased: {
equalTo: true
}
}
}
{
studio: {
slug: {
in: ["giorgiograndi"]
showcased: {
equalTo: true
}
}
}
],
]
},
first: $limit,
offset: $offset,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 B

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -514,10 +514,12 @@ const networks = [
name: 'Pure Taboo',
url: 'https://www.puretaboo.com',
description: 'PureTaboo.com is the ultimate site for family taboo porn, featuring submissive teens & virgins in rough sex videos in ultra 4k HD.',
parent: 'gamma',
parameters: {
layout: 'api',
scene: 'https://www.puretaboo.com/en/video',
referer: 'https://www.puretaboo.com',
},
parent: 'gamma',
},
{
slug: 'realitykings',

View File

@ -369,21 +369,12 @@ const sites = [
url: 'https://accidentalgangbang.com',
parent: 'adulttime',
tags: ['gangbang'],
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
scene: false,
},
},
{
name: 'ASMR Fantasy',
slug: 'asmrfantasy',
url: 'https://asmrfantasy.com',
parent: 'adulttime',
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
deep: 'https://21sextury.com/en/video',
scene: false,
},
},
{
name: 'Being Trans 24/7',
@ -391,38 +382,24 @@ const sites = [
url: 'https://www.adulttime.com/series/being-trans',
parent: 'adulttime',
tags: ['transsexual'],
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
scene: false,
},
},
{
name: 'Between The Sheets',
slug: 'betweenthesheets',
url: 'https://www.adulttime.com/series/between-the-sheets',
parent: 'adulttime',
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
scene: false,
},
},
{
name: 'Bubblegum Dungeon',
slug: 'bubblegumdungeon',
url: 'https://www.bubblegumdungeon.com',
parent: 'adulttime',
parameters: {
scene: false,
},
},
{
name: 'Caught Fapping',
slug: 'caughtfapping',
url: 'https://www.caughtfapping.com',
parent: 'adulttime',
parameters: {
scene: false,
},
},
{
name: 'Forbidden Seductions',
slug: 'forbiddenseductions',
url: 'https://www.adulttime.com/series/forbidden-seductions',
parent: 'adulttime',
},
{
name: 'Futa Sentai Squad',
@ -430,37 +407,17 @@ const sites = [
url: 'https://www.futasentaisquad.com',
tags: ['animated'],
parent: 'adulttime',
parameters: {
scene: false,
},
},
{
name: 'Future Darkly',
slug: 'futuredarkly',
url: 'https://www.futuredarkly.com',
parent: 'adulttime',
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
scene: false,
},
},
{
name: 'Girlcore',
slug: 'girlcore',
url: 'https://www.girlcore.com',
parent: 'adulttime',
parameters: {
scene: false,
},
},
{
name: 'Girls Under Arrest',
slug: 'girlsunderarrest',
url: 'https://www.girlsunderarrest.com',
parameters: {
referer: 'https://www.isthisreal.com',
scene: 'https://www.isthisreal.com/en/video/girlsunderarrest',
},
parent: 'adulttime',
},
{
@ -468,10 +425,6 @@ const sites = [
slug: 'gostuckyourself',
url: 'https://www.adulttime.com/series/go-stuck-yourself',
parent: 'adulttime',
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
scene: false,
},
},
{
name: 'Hentai Sex School',
@ -479,12 +432,6 @@ const sites = [
url: 'https://www.hentaisexschool.com',
tags: ['hentai'],
parent: 'adulttime',
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
deep: 'https://21sextury.com/en/video',
scene: false,
includePhotos: false,
},
},
{
name: 'Lady Gonzo',
@ -494,22 +441,22 @@ const sites = [
parent: 'adulttime',
},
{
name: 'Lesbian Revenge',
slug: 'lesbianrevenge',
url: 'https://www.lesbianrevenge.com',
name: 'Lesbian Dating Stories',
slug: 'lesbiandatingstories',
url: 'https://www.adulttime.com/series/lesbian-dating-stories',
parent: 'adulttime',
},
{
name: 'Midnight Stories',
slug: 'midnightstories',
url: 'https://www.adulttime.com/series/midnight-stories',
parent: 'adulttime',
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
},
},
{
name: 'Mommy\'s Boy',
slug: 'mommysboy',
url: 'https://www.mommysboy.com',
parent: 'adulttime',
parameters: {
scene: false,
},
},
{
name: 'Naked Sword',
@ -517,10 +464,6 @@ const sites = [
url: 'https://www.adulttime.com/studio/nakedsword',
parent: 'adulttime',
tags: ['gay'],
parameters: {
layout: 'api',
referer: 'https://freetour.adulttime.com/en/join',
},
},
{
name: 'Out Of The Family',
@ -528,21 +471,12 @@ const sites = [
url: 'https://www.outofthefamily.com',
parent: 'adulttime',
},
{
name: 'Poly Family Life',
slug: 'polyfamilylife',
url: 'https://www.adulttime.com/series/poly-family-life',
parent: 'adulttime',
},
{
name: 'Pretty Dirty',
slug: 'prettydirty',
alias: ['prdi'],
url: 'https://www.prettydirty.com',
parent: 'adulttime',
parameters: {
referer: 'https://www.prettydirty.com',
},
},
{
name: 'Shape Of Beauty',
@ -555,9 +489,6 @@ const sites = [
slug: 'shewantshim',
url: 'https://www.adulttime.com/series/she-wants-him',
parent: 'adulttime',
parameters: {
scene: false,
},
},
{
name: 'Transfixed',
@ -572,35 +503,53 @@ const sites = [
url: 'https://www.truelesbian.com',
tags: ['lesbian'],
parent: 'adulttime',
parameters: {
referer: 'https://freetour.adulttime.com/en/join',
scene: false,
},
},
// ADULT TIME no API results
/*
{
name: 'Between The Sheets',
slug: 'betweenthesheets',
url: 'https://www.adulttime.com/series/between-the-sheets',
parent: 'adulttime',
},
{
name: 'Under The Bed',
slug: 'underthebed',
url: 'https://www.underthebed.com',
name: 'Daddy\'s Boy',
slug: 'daddysboy',
url: 'https://www.adulttime.com/series/daddys-boy',
parent: 'adulttime',
parameters: {
scene: 'https://www.puretaboo.com/en/video',
referer: 'https://www.puretaboo.com',
},
},
{
name: 'Future Darkly',
slug: 'futuredarkly',
url: 'https://www.futuredarkly.com',
parent: 'adulttime',
},
{
name: 'Lesbian Revenge',
slug: 'lesbianrevenge',
url: 'https://www.lesbianrevenge.com',
parent: 'adulttime',
},
{
name: 'Peach Cake',
slug: 'peachcake',
url: 'https://www.adulttime.com/series/peach-cake',
parent: 'adulttime',
},
{
name: 'Poly Family Life',
slug: 'polyfamilylife',
url: 'https://www.adulttime.com/series/poly-family-life',
parent: 'adulttime',
},
{
name: 'Straight, But...',
slug: 'straightbut',
url: 'https://www.adulttime.com/series/straight-but',
parent: 'adulttime',
},
*/
// ADULT TIME INDEPENDENT
{
name: 'Pure Taboo',
slug: 'puretaboo',
url: 'https://www.puretaboo.com',
parent: 'adulttime',
independent: true,
parameters: {
layout: 'api',
scene: false,
referer: 'https://www.puretaboo.com',
// mobile: 'https://m.dpfanatics.com/en/video',
},
},
{
name: 'Blake Mason',
slug: 'blakemason',
@ -5267,6 +5216,7 @@ const sites = [
alias: ['legalporno', 'clip', 'gonzo'],
url: 'https://www.analvids.com',
independent: true,
showcased: false, // showcased per studio
parent: 'wgcz',
},
// LETS DOE IT
@ -7809,6 +7759,19 @@ const sites = [
url: 'https://www.private.com/site/private-stars',
parent: 'private',
},
// PURE TABOO
{
name: 'Pure Taboo',
slug: 'puretaboo',
url: 'https://www.puretaboo.com',
parent: 'puretaboo',
},
{
name: 'Under The Bed',
slug: 'underthebed',
url: 'https://www.underthebed.com',
parent: 'adulttime',
},
// RADICAL ENTERTAINMENT
{
name: 'PurgatoryX',
@ -11579,6 +11542,7 @@ exports.seed = (knex) => Promise.resolve()
priority: site.priority || 0,
independent: !!site.independent,
visible: site.visible,
showcased: site.showcased,
has_logo: site.hasLogo === undefined ? true : site.hasLogo,
}));

View File

@ -10,6 +10,7 @@ const studios = [
alias: [
'gio',
],
showcased: true,
},
{
name: 'Gonzo.com',
@ -19,18 +20,21 @@ const studios = [
alias: [
'sz',
],
showcased: true,
},
{
name: 'Porn World',
slug: 'pornworld',
url: 'https://www.analvids.com/studios/porn-world',
parent: 'analvids',
showcased: true,
},
{
name: 'Angelo Godshack Original',
slug: 'angelogodshackoriginal',
url: 'https://www.analvids.com/studios/angelo-godshack-original',
parent: 'analvids',
showcased: true,
},
{
name: 'NRX-Studio',
@ -40,6 +44,7 @@ const studios = [
alias: [
'nrx',
],
showcased: true,
},
{
name: "Giorgio's Lab",
@ -49,6 +54,7 @@ const studios = [
alias: [
'gl',
],
showcased: true,
},
{
name: 'Yummy estudio',
@ -58,12 +64,14 @@ const studios = [
alias: [
'ye',
],
showcased: true,
},
{
name: 'XfreaX',
slug: 'xfreax',
url: 'https://www.analvids.com/studios/xfreax',
parent: 'analvids',
showcased: true,
},
{
name: 'Natasha Teen Productions',
@ -73,6 +81,7 @@ const studios = [
alias: [
'nt',
],
showcased: true,
},
{
name: 'Bang Bros',
@ -88,6 +97,7 @@ const studios = [
alias: [
'vk',
],
showcased: true,
},
{
name: 'Toby Dick Studio',
@ -107,6 +117,7 @@ const studios = [
tags: [
'transsexual',
],
showcased: true,
},
{
name: 'TheWonderToys Training Studio',
@ -122,6 +133,7 @@ const studios = [
alias: [
'nf',
],
showcased: true,
},
{
name: 'Vira Gold Films',
@ -148,10 +160,11 @@ const studios = [
parent: 'analvids',
},
{
name: 'LATIN TEENS productions',
name: 'Latin Teens Productions',
slug: 'latinteensproductions',
url: 'https://www.analvids.com/studios/latin-teens-productions',
parent: 'analvids',
showcased: true,
},
{
name: 'PISSING E ANAL FANTASY',
@ -164,6 +177,7 @@ const studios = [
slug: 'lvtstudio',
url: 'https://www.analvids.com/studios/lvt-studio',
parent: 'analvids',
showcased: true,
},
{
name: 'Sineplex CZ',
@ -173,6 +187,7 @@ const studios = [
alias: [
'sz',
],
showcased: true,
},
{
name: 'Kinky Sex',
@ -182,6 +197,7 @@ const studios = [
alias: [
'ks',
],
showcased: true,
},
{
name: 'Mambo Perv',
@ -194,6 +210,7 @@ const studios = [
slug: 'studiopl',
url: 'https://www.analvids.com/studios/studio_pl',
parent: 'analvids',
showcased: true,
},
{
name: 'Interracial Vision',
@ -203,6 +220,7 @@ const studios = [
alias: [
'iv',
],
showcased: true,
},
{
name: 'Argendana Official',
@ -224,6 +242,7 @@ const studios = [
alias: [
'rs',
],
showcased: true,
},
{
name: 'X-TV Studio',
@ -280,6 +299,7 @@ const studios = [
alias: [
'aa',
],
showcased: true,
},
{
name: 'Lydia Black Studio',
@ -306,19 +326,21 @@ const studios = [
parent: 'analvids',
},
{
name: 'Eden does',
name: 'Eden Does',
slug: 'edendoes',
url: 'https://www.analvids.com/studios/eden-does',
parent: 'analvids',
showcased: true,
},
{
name: 'Black in White',
name: 'Black In White',
slug: 'blackinwhite',
url: 'https://www.analvids.com/studios/black-in-white',
parent: 'analvids',
alias: [
'biw',
],
showcased: true,
},
{
name: 'vilevixen Studio',
@ -444,6 +466,7 @@ const studios = [
slug: 'gg',
url: 'https://www.analvids.com/studios/gg',
parent: 'analvids',
showcased: true,
},
{
name: 'Andy Casanova',
@ -507,6 +530,7 @@ const studios = [
slug: 'sineplexclassic',
url: 'https://www.analvids.com/studios/sineplex-classic',
parent: 'analvids',
showcased: true,
},
{
name: 'Porn Force',
@ -648,6 +672,7 @@ const studios = [
'af',
'anal forever',
],
showcased: true,
},
{
name: 'WeFuckin Studio',
@ -5178,7 +5203,12 @@ const studios = [
parent: 'analvids',
description: 'Producing raw amateur porn leaded by Bluff, the creator, filmmaker and photographer. The models are from a circle of friends that creates and share all together. Through webcam nights, professionally made productions or from spontaneous projects, the general desire always was to produce high quality amateur porn. A wide variety of content is offered. *No custom video request *all models are 18+ and consented to appear in the photos/videos.',
},
];
].map((studio) => (studio.parent === 'analvids' && studio.showcased !== true
? {
...studio,
showcased: false,
}
: studio));
/* eslint-disable max-len */
exports.seed = (knex) => Promise.resolve()
@ -5195,6 +5225,7 @@ exports.seed = (knex) => Promise.resolve()
type: 'studio',
parent_id: networksMap[studio.parent],
has_logo: studio.hasLogo || false,
showcased: studio.showcased,
}));
return upsert('entities', studiosWithNetwork, ['slug', 'type'], knex);

View File

@ -212,6 +212,11 @@ function getImageSources(source) {
];
}
function curateTitle(title, channel) {
// some videos are redundantly prefixed with the name of the site, i.e. Bubblegum Dungeon, Forbidden Seductions and Lady Gonzo
return title.replace(new RegExp(`^\\s*${channel.name}\\s*[:|-]\\s`, 'i'), '');
}
async function scrapeApiReleases(json, site) {
return json.map((scene) => {
if (site.parameters?.extract && scene.sitename !== site.parameters.extract) {
@ -230,7 +235,7 @@ async function scrapeApiReleases(json, site) {
dislikes: scene.ratings_down,
};
release.title = scene.title.replace(new RegExp(`^\\s*${site.name}\\s*[:|-]\\s`, 'i'), ''); // some videos are redundantly prefixed with the name of the site, i.e. Bubblegum Dungeon and Lady Gonzo
release.title = curateTitle(scene.title, site);
release.path = `/${scene.url_title}/${release.entryId}`;
if (site.parameters?.scene) release.url = `${site.parameters.scene}${release.path}`;
@ -418,7 +423,7 @@ async function scrapeReleaseApi(data, site, options) {
const release = {};
release.entryId = data.clip_id || data.movie_id;
release.title = data.title;
release.title = curateTitle(data.title, site);
release.duration = data.length;
release.date = (data.date && new Date(data.date * 1000)) || qu.parseDate(data.release_date || data.last_modified, 'YYYY-MM-DD');
release.director = data.directors[0]?.name || null;