When poster is not available during scraping, first photo is stored as poster; removed client-side fallback. Added screencap album fallback to Jules Jordan scraper. Simplified JJ page traversal.
This commit is contained in:
@@ -101,7 +101,6 @@ async function filterHashDuplicates(files, domains = ['releases'], roles = ['pho
|
||||
|
||||
async function fetchPhoto(photoUrl, index, identifier, attempt = 1) {
|
||||
if (Array.isArray(photoUrl)) {
|
||||
// return fetchPhoto(photoUrl[0], index, identifier);
|
||||
return photoUrl.reduce(async (outcome, url) => outcome.catch(async () => {
|
||||
const photo = await fetchPhoto(url, index, identifier);
|
||||
|
||||
@@ -156,7 +155,7 @@ async function savePhotos(files, {
|
||||
const thumbnail = await createThumbnail(file.photo);
|
||||
|
||||
const filename = naming === 'index'
|
||||
? `${file.role || role}-${index}`
|
||||
? `${file.role || role}-${index + 1}`
|
||||
: `${timestamp + index}`;
|
||||
|
||||
const filepath = path.join(domain, subpath, `${filename}.${file.extension}`);
|
||||
@@ -214,6 +213,8 @@ async function storePhotos(photos, {
|
||||
]);
|
||||
|
||||
if (primaryRole && !primaryPhoto) {
|
||||
console.log(`Setting first photo as ${primaryRole} for ${identifier}`);
|
||||
|
||||
uniquePhotos[0].role = primaryRole;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user