Tags module filters out undefined tags. Gamma will return [] instead of undefined when no tags are available.
This commit is contained in:
@@ -229,7 +229,7 @@ async function scrapeScene(html, url, site, scrapedRelease, mobileHtml) {
|
||||
}
|
||||
|
||||
const hasTrans = release.actors?.some(actor => actor.gender === 'shemale');
|
||||
const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ');
|
||||
const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ') || [];
|
||||
release.tags = hasTrans ? [...rawTags, 'transsexual'] : rawTags;
|
||||
|
||||
const channel = data?.productionCompany?.name || $('.studioLink a, .siteLink a').attr('title')?.trim();
|
||||
@@ -471,7 +471,7 @@ function getDeepUrl(url, site, release, mobile = false) {
|
||||
const pathname = release?.path || new URL(url).pathname;
|
||||
|
||||
if (mobile) {
|
||||
return `${site.parameters.mobile}${pathname}`;
|
||||
return `${site.parameters.mobile}${pathname.replace('/en/video', '')}`;
|
||||
}
|
||||
|
||||
if (site.parameters?.deep === 'network') {
|
||||
@@ -479,7 +479,7 @@ function getDeepUrl(url, site, release, mobile = false) {
|
||||
}
|
||||
|
||||
if (site.parameters?.deep) {
|
||||
return `${site.parameters.deep}${pathname}`;
|
||||
return `${site.parameters.deep}${pathname.replace('/en/video', '')}`;
|
||||
}
|
||||
|
||||
return url;
|
||||
@@ -493,8 +493,6 @@ async function fetchScene(url, site, release) {
|
||||
const deepUrl = getDeepUrl(url, site, release);
|
||||
const mobileUrl = site.parameters?.mobile && getDeepUrl(url, site, release, true);
|
||||
|
||||
console.log(mobileUrl);
|
||||
|
||||
if (deepUrl) {
|
||||
const [res, mobileRes] = await Promise.all([
|
||||
bhttp.get(deepUrl),
|
||||
@@ -507,7 +505,7 @@ async function fetchScene(url, site, release) {
|
||||
]);
|
||||
|
||||
if (res.statusCode === 200) {
|
||||
const mobileBody = mobileRes.statusCode === 200 ? mobileRes.body.toString() : null;
|
||||
const mobileBody = mobileRes?.statusCode === 200 ? mobileRes.body.toString() : null;
|
||||
const scene = await scrapeScene(res.body.toString(), url, site, release, mobileBody);
|
||||
return { ...scene, deepUrl };
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ async function matchTags(rawTags) {
|
||||
async function associateTags(release, releaseId) {
|
||||
const siteTags = release.site?.tags?.filter(tag => tag.inherit === true).map(tag => tag.id) || [];
|
||||
|
||||
const rawReleaseTags = release.tags || [];
|
||||
const rawReleaseTags = release.tags.filter(Boolean) || [];
|
||||
const releaseTags = rawReleaseTags.some(tag => typeof tag === 'string')
|
||||
? await matchTags(release.tags) // scraper returned raw tags
|
||||
: rawReleaseTags; // tags already matched by (outdated) scraper
|
||||
|
||||
Reference in New Issue
Block a user