Major API change for 'q', renamed to 'qu', refactored modules. Fixed Gamma URL entry ID regex.

This commit is contained in:
2020-03-09 02:02:29 +01:00
parent 7d71cf3a8c
commit 6cbb7f9c1e
21 changed files with 611 additions and 561 deletions

View File

@@ -60,18 +60,18 @@ function getImageWithFallbacks(q, selector, site, el) {
}
function scrapeAll(scenes, site) {
return scenes.map(({ q, qu, qd, ql }) => {
return scenes.map(({ qu }) => {
const release = {};
release.title = q('h3 a', 'title') || q('h3 a', true);
release.url = qu('h3 a');
release.title = qu.q('h3 a', 'title') || qu.q('h3 a', true);
release.url = qu.url('h3 a');
release.date = qd('.modeldata p', 'YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/);
release.duration = ql('.modeldata p');
release.date = qu.date('.modeldata p', 'YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/);
release.duration = qu.dur('.modeldata p');
if (/bts|behind the scenes/i.test(release.title)) release.tags = ['behind the scenes'];
release.poster = getImageWithFallbacks(q, '.modelimg img', site);
release.poster = getImageWithFallbacks(qu.q, '.modelimg img', site);
// release.entryId = q('.modelimg img', 'id').match(/set-target-(\d+)/)[1];
release.entryId = deriveEntryId(release);
@@ -81,18 +81,18 @@ function scrapeAll(scenes, site) {
}
function scrapeAllT1(scenes, site, accSiteReleases) {
return scenes.map(({ q, qi, qd, ql, qu }) => {
return scenes.map(({ qu }) => {
const release = {};
release.title = q('h4 a', 'title') || q('h4 a', true);
release.url = qu('h4 a');
release.title = qu.q('h4 a', 'title') || qu.q('h4 a', true);
release.url = qu.url('h4 a');
release.date = qd('.more-info-div', 'MMM D, YYYY');
release.duration = ql('.more-info-div');
release.date = qu.date('.more-info-div', 'MMM D, YYYY');
release.duration = qu.dur('.more-info-div');
if (/bts|behind the scenes/i.test(release.title)) release.tags = ['behind the scenes'];
const posterPath = q('.img-div img', 'src0_1x') || qi('img.video_placeholder');
const posterPath = qu.q('.img-div img', 'src0_1x') || qu.img('img.video_placeholder');
if (posterPath) {
const poster = /^http/.test(posterPath) ? posterPath : `${site.parameters?.media || site.url}${posterPath}`;
@@ -117,16 +117,16 @@ function scrapeAllT1(scenes, site, accSiteReleases) {
}
function scrapeAllTour(scenes) {
return scenes.map(({ q, qa, qu, qd, qi }) => {
return scenes.map(({ qu }) => {
const release = {};
release.title = q('h4 a', true);
release.url = qu('a');
release.date = qd('.tour_update_models + span', 'YYYY-MM-DD');
release.title = qu.q('h4 a', true);
release.url = qu.url('a');
release.date = qu.date('.tour_update_models + span', 'YYYY-MM-DD');
release.actors = qa('.tour_update_models a', true);
release.actors = qu.all('.tour_update_models a', true);
release.poster = qi('a img');
release.poster = qu.img('a img');
release.entryId = deriveEntryId(release);
@@ -343,7 +343,7 @@ function scrapeProfileTour({ el, q, qtxs }, site) {
const qReleases = ctxa(el, '.update_block');
profile.releases = qReleases.map((qRelease) => {
const url = qRelease.qu('.update_image a[href]');
const url = qRelease.qu.url('.update_image a[href]');
const release = scrapeSceneTour(qRelease, site);
if (!/\/(signup|join)/i.test(url)) release.url = url;