forked from DebaucheryLibrarian/traxxx
Added 'independent' property for network-like channels. Changed release tile design. Adding Brazzers timeline events as tags. Added Property Sex to MindGeek. Changed DP, DAP and DVP tag slugs. Changed Porn Pros logo. Added better BAM Visions and Mug Fucked logos.
This commit is contained in:
@@ -102,7 +102,10 @@ async function scrapeScene(html, url, _site) {
|
||||
const siteName = siteElement.attr('title');
|
||||
release.channel = slugify(siteName, '');
|
||||
|
||||
release.tags = $('.tag-card-container a').map((tagIndex, tagElement) => $(tagElement).text()).toArray();
|
||||
const tags = $('.tag-card-container a').map((tagIndex, tagElement) => $(tagElement).text()).toArray();
|
||||
const categories = $('.timeline a[href*="/categories"]').map((tagIndex, categoryElement) => $(categoryElement).attr('title')).toArray();
|
||||
|
||||
release.tags = tags.concat(categories);
|
||||
release.photos = $('.carousel-thumb a').map((photoIndex, photoElement) => `https:${$(photoElement).attr('href')}`).toArray();
|
||||
|
||||
const posterPath = videoData?.poster || $('meta[itemprop="thumbnailUrl"]').attr('content') || $('#trailer-player-container').attr('data-player-img');
|
||||
@@ -115,6 +118,8 @@ async function scrapeScene(html, url, _site) {
|
||||
}));
|
||||
}
|
||||
|
||||
console.log(release);
|
||||
|
||||
return release;
|
||||
}
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ function scrapeAll(html, site, networkUrl, hasTeaser = true) {
|
||||
|
||||
const sceneLinkElement = $(element).find('.sceneTitle a, .tlcTitle a');
|
||||
|
||||
if (site) release.url = `${networkUrl ? site.network.url : site.url}${sceneLinkElement.attr('href')}`;
|
||||
if (site) release.url = `${networkUrl ? site.parent.url : site.url}${sceneLinkElement.attr('href')}`;
|
||||
else release.url = `${networkUrl}${sceneLinkElement.attr('href')}`;
|
||||
|
||||
release.title = sceneLinkElement.attr('title');
|
||||
@@ -416,7 +416,7 @@ async function fetchApiCredentials(referer, site) {
|
||||
}
|
||||
|
||||
async function fetchApiLatest(site, page = 1, preData, include, upcoming = false) {
|
||||
const referer = site.parameters?.referer || `${site.parameters?.networkReferer ? site.network.url : site.url}/en/videos`;
|
||||
const referer = site.parameters?.referer || `${site.parameters?.networkReferer ? site.parent.url : site.url}/en/videos`;
|
||||
const { apiUrl } = await fetchApiCredentials(referer, site);
|
||||
|
||||
const res = await bhttp.post(apiUrl, {
|
||||
@@ -485,7 +485,7 @@ async function fetchUpcoming(site) {
|
||||
}
|
||||
|
||||
function getDeepUrl(url, site, baseRelease, mobile) {
|
||||
const filter = new Set(['en', 'video', 'scene', site.slug, site.network.slug]);
|
||||
const filter = new Set(['en', 'video', 'scene', site.slug, site.parent.slug]);
|
||||
const pathname = baseRelease?.path || new URL(url).pathname
|
||||
.split('/')
|
||||
.filter(component => !filter.has(component))
|
||||
@@ -514,7 +514,7 @@ async function fetchScene(url, site, baseRelease) {
|
||||
}
|
||||
|
||||
const deepUrl = getDeepUrl(url, site, baseRelease);
|
||||
const mobileUrl = getDeepUrl(url, site, baseRelease, site.parameters?.mobile || site.network.parameters?.mobile);
|
||||
const mobileUrl = getDeepUrl(url, site, baseRelease, site.parameters?.mobile || site.parent?.parameters?.mobile);
|
||||
|
||||
if (deepUrl) {
|
||||
const [res, mobileRes] = await Promise.all([
|
||||
@@ -560,7 +560,7 @@ async function fetchActorScenes(actorName, apiUrl, siteSlug) {
|
||||
}
|
||||
|
||||
async function fetchProfile(actorName, context, altSearchUrl, getActorReleasesUrl, include) {
|
||||
const siteSlug = context.site?.slug || context.network.slug;
|
||||
const siteSlug = context.entity.slug || context.site?.slug || context.network?.slug;
|
||||
|
||||
const actorSlug = actorName.toLowerCase().replace(/\s+/, '+');
|
||||
const searchUrl = altSearchUrl
|
||||
@@ -589,7 +589,7 @@ async function fetchProfile(actorName, context, altSearchUrl, getActorReleasesUr
|
||||
}
|
||||
|
||||
async function fetchApiProfile(actorName, context, include) {
|
||||
const siteSlug = context.site?.slug || context.network.slug;
|
||||
const siteSlug = context.entity.slug || context.site?.slug || context.network?.slug;
|
||||
|
||||
const actorSlug = encodeURI(actorName);
|
||||
const referer = `https://www.${siteSlug}.com/en/search`;
|
||||
|
||||
@@ -9,7 +9,7 @@ const slugify = require('../utils/slugify');
|
||||
|
||||
function extractTitle(originalTitle) {
|
||||
const titleComponents = originalTitle.split(' ');
|
||||
const sceneIdMatch = titleComponents.slice(-1)[0].match(/(AB|AF|GP|SZ|IV|GIO|RS|TW|MA|FM|SAL|NR|AA|GL|BZ|FS|KS|OTS)\d+/); // detect studio prefixes
|
||||
const sceneIdMatch = titleComponents.slice(-1)[0].match(/(AB|AF|GP|SZ|IV|GIO|RS|TW|MA|FM|SAL|NR|AA|GL|BZ|FS|KS|OTS|NF)\d+/); // detect studio prefixes
|
||||
const shootId = sceneIdMatch ? sceneIdMatch[0] : null;
|
||||
const title = sceneIdMatch ? titleComponents.slice(0, -1).join(' ') : originalTitle;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user