Updated MG session acquisition.

This commit is contained in:
DebaucheryLibrarian
2023-03-27 00:01:38 +02:00
parent a7d094f0b6
commit 1a24d39761
30 changed files with 241 additions and 177 deletions

View File

@@ -2,7 +2,6 @@
const unprint = require('unprint');
const qu = require('../utils/qu');
const http = require('../utils/http');
const slugify = require('../utils/slugify');

View File

@@ -185,10 +185,10 @@ function scrapeRelease(data, url, channel, networkName) {
}
function getUrl(site) {
const { searchParams } = new URL(site.url);
const { searchParams, pathname } = new URL(site.url);
// if (search.match(/\?site=\d+/)) {
if (searchParams.has('site')) {
if (searchParams.has('site') || /\/site\/\d+/.test(pathname)) {
return site.url;
}
@@ -290,8 +290,12 @@ function scrapeProfile(data, releases = [], networkName) {
async function fetchLatest(site, page = 1, options) {
const url = getUrl(site);
const { searchParams } = new URL(url);
const siteId = searchParams.get('site');
const { searchParams, pathname } = new URL(url);
const siteId = searchParams.get('site') || Number(pathname.match(/\/site\/(\d+)\//)?.[1]);
if (!siteId && !site.parameters?.native && !site.parameters?.extract) {
return null;
}
const { session, instanceToken } = options.beforeNetwork?.headers?.Instance
? options.beforeNetwork

View File

@@ -5,9 +5,11 @@ const bhttp = require('bhttp');
const slugify = require('../utils/slugify');
const { studios: oldStudios } = require('../../seeds/03_studios');
/*
const slugMap = {
thay_ksada: 'thayksada2',
};
*/
async function init() {
const res = await bhttp.get('https://pornbox.com/studio/list');

View File

@@ -7,6 +7,7 @@ const { postgraphile } = require('postgraphile');
const PgConnectionFilterPlugin = require('postgraphile-plugin-connection-filter');
const PgSimplifyInflectorPlugin = require('@graphile-contrib/pg-simplify-inflector');
const PgOrderByRelatedPlugin = require('@graphile-contrib/pg-order-by-related');
const PgAggregatesPlugin = require('@graphile/pg-aggregates').default;
const { ActorPlugins, SitePlugins, ReleasePlugins, MediaPlugins } = require('./plugins/plugins');
@@ -18,6 +19,30 @@ async function pgSettings(req) {
};
}
// console.log(PgAggregatesPlugin);
const TagsAggregatePlugin = (builder) => {
builder.hook('build', (build) => {
const pgAggregateSpecs = [
{
id: 'tags',
humanLabel: 'tags',
HumanLabel: 'Tags',
sqlAggregateWrap: (sqlFrag) => {
console.log('sql frag', sqlFrag);
return build.pgSql.fragment`sum(${sqlFrag})`;
},
isSuitableType: (pgType) => {
// console.log('pg type', pgType);
return pgType.category === 'N';
},
},
];
build.pgAggregateSpecs = pgAggregateSpecs; // eslint-disable-line no-param-reassign
});
};
module.exports = postgraphile(
connectionString,
'public',
@@ -38,11 +63,13 @@ module.exports = postgraphile(
appendPlugins: [
PgSimplifyInflectorPlugin,
PgConnectionFilterPlugin,
PgAggregatesPlugin,
PgOrderByRelatedPlugin,
...ActorPlugins,
...SitePlugins,
...ReleasePlugins,
...MediaPlugins,
TagsAggregatePlugin,
],
pgSettings,
},