Compare commits

..

No commits in common. "5547ff7e76a048c918fd48d21a415b281df2e79c" and "41259eae5dc9551885d3a19ba4c613d859481a3e" have entirely different histories.

7 changed files with 13 additions and 75 deletions

View File

@ -1,7 +1,5 @@
<template> <template>
<div class="tile"> <div class="tile">
<Details :release="movie" />
<div class="movie"> <div class="movie">
<router-link <router-link
:to="{ name: 'movie', params: { releaseId: movie.id, releaseSlug: movie.slug } }" :to="{ name: 'movie', params: { releaseId: movie.id, releaseSlug: movie.slug } }"
@ -52,6 +50,8 @@
</ul> </ul>
</div> </div>
</div> </div>
<Details :release="movie" />
</div> </div>
</template> </template>

View File

@ -171,11 +171,17 @@ export default {
*/ */
.details .favicon { .details .favicon {
padding: .35rem .5rem .35rem .5rem; width: 1.75rem;
padding: .25rem .5rem .25rem .25rem;
}
.date,
.site {
font-size: .75rem;
} }
.date { .date {
padding: .35rem .5rem; padding: .25rem .5rem;
} }
.site { .site {

View File

@ -130,7 +130,6 @@ function initReleasesActions(store, router) {
movie(id: $movieId) { movie(id: $movieId) {
id id
title title
description
slug slug
url url
date date

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.159.8", "version": "1.159.7",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.159.8", "version": "1.159.7",
"description": "All the latest porn releases in one place", "description": "All the latest porn releases in one place",
"main": "src/app.js", "main": "src/app.js",
"scripts": { "scripts": {

View File

@ -1,11 +1,10 @@
'use strict'; 'use strict';
const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchMovie, fetchApiProfile } = require('./gamma'); const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma');
module.exports = { module.exports = {
fetchLatest: fetchApiLatest, fetchLatest: fetchApiLatest,
fetchProfile: fetchApiProfile, fetchProfile: fetchApiProfile,
fetchScene, fetchScene,
fetchMovie,
fetchUpcoming: fetchApiUpcoming, fetchUpcoming: fetchApiUpcoming,
}; };

View File

@ -320,57 +320,6 @@ async function scrapeScene(html, url, site, baseRelease, mobileHtml) {
return release; return release;
} }
async function fetchMovieTrailer(release) {
if (!release.entryId) {
return null;
}
const url = `https://www.evilangel.com/en/dvdtrailer/${release.entryId}`;
const res = await qu.get(url);
if (!res.ok) {
return null;
}
const trailerHost = res.html.match(/"host":\s*"(.*\.com)"/)?.[1].replace(/\\\//g, '/');
const trailerPath = res.html.match(/"url":\s*"(.*\.mp4)"/)?.[1].replace(/\\\//g, '/');
if (trailerHost && trailerPath) {
return qu.prefixUrl(trailerPath, trailerHost);
}
return null;
}
async function scrapeMovie({ query, html }, window, url, entity, options) {
const release = {};
const data = window.dataLayer[0]?.dvdDetails;
// const options = html.match(/options = {.*};/);
release.entryId = new URL(url).pathname.match(/\/(\d+)(\/|$)/)?.[1];
release.covers = [
query.img('.frontCoverImg', 'href'),
query.img('.backCoverImg', 'href'),
];
release.description = query.cnt('.descriptionText');
release.date = qu.extractDate(data.dvdReleaseDate);
release.title = data.dvdName;
release.actors = data.dvdActors.map(actor => ({ name: actor.actorName, entryId: actor.actorId }));
release.tags = query.cnts('.dvdCol a');
release.scenes = scrapeAll(html, entity, entity.url);
if (options.includeTrailers) {
release.trailer = await fetchMovieTrailer(release);
}
return release;
}
function scrapeActorSearch(html, url, actorName) { function scrapeActorSearch(html, url, actorName) {
const { document } = new JSDOM(html).window; const { document } = new JSDOM(html).window;
const actorLink = document.querySelector(`a[title="${actorName}" i]`); const actorLink = document.querySelector(`a[title="${actorName}" i]`);
@ -626,20 +575,6 @@ async function fetchScene(url, site, baseRelease) {
return null; return null;
} }
async function fetchMovie(url, channel, baseRelease, options) {
const res = await qu.get(url, null, null, {
extract: {
runScripts: 'dangerously',
},
});
if (res.ok) {
return scrapeMovie(res.item, res.window, url, channel, options);
}
return res.status;
}
async function fetchActorScenes(actorName, apiUrl, siteSlug) { async function fetchActorScenes(actorName, apiUrl, siteSlug) {
const res = await http.post(apiUrl, { const res = await http.post(apiUrl, {
requests: [ requests: [
@ -733,7 +668,6 @@ module.exports = {
fetchApiProfile, fetchApiProfile,
fetchApiUpcoming, fetchApiUpcoming,
fetchLatest, fetchLatest,
fetchMovie,
fetchProfile, fetchProfile,
fetchScene, fetchScene,
fetchUpcoming, fetchUpcoming,