From e36ba59d274819aa9378c60d07f9befd9b63d9bf Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Mon, 5 Jun 2023 04:49:44 +0200 Subject: [PATCH] Auto-recognizing m3u8 sources as stream. Fixed Bang Bros poster and trailer. --- src/media.js | 7 +++++++ src/scrapers/bangbros.js | 11 +++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/media.js b/src/media.js index 2444bfd5..8ab17b23 100755 --- a/src/media.js +++ b/src/media.js @@ -163,6 +163,13 @@ function toBaseSource(rawSource) { return null; } + if (rawSource.match(/.m3u8$/)) { + return { + src: rawSource, + stream: rawSource, + }; + } + return { src: rawSource, }; diff --git a/src/scrapers/bangbros.js b/src/scrapers/bangbros.js index 30cf8b6f..40973566 100755 --- a/src/scrapers/bangbros.js +++ b/src/scrapers/bangbros.js @@ -129,7 +129,7 @@ function scrapeScene(html, url, _site) { const { query } = qu.ex(html, '.playerSection'); const release = {}; - const { pathname, hostname } = new URL(url); + const { pathname } = new URL(url); [release.shootId] = query.cnt('.vdoTags + .vdoCast')?.match(/\w+$/) || []; release.entryId = pathname.match(/video(\d+)/)?.[1]; @@ -146,12 +146,15 @@ function scrapeScene(html, url, _site) { if (poster) { release.poster = [ - poster, - poster.replace('/big_trailer', '/members/450x340'), // load error fallback + poster.replace('//big_trailer', '/big_trailer'), + poster.replace(/\/?\/big_trailer/, '/members/450x340'), // load error fallback ]; } - release.trailer = query.trailer() || qu.prefixUrl(html.match(/'(\/\/trailers.*mp4)'/)?.[1], hostname); + release.trailer = [ + query.video('video source[type="video/mp4"]'), + query.video('video source[type="application/x-mpegURL"]'), + ]; // all scenes seem to have 12 album photos available, not always included on the page const firstPhotoUrl = qu.ex(html).query.img('img[data-slider-index="1"]');