Fixed obsolete eroshare extract single album item property. Throwing error when imgur album and image info fetch fails. Main catch method console log colored red.

This commit is contained in:
DebaucheryLibrarian 2024-09-11 05:16:54 +02:00
parent 1ae3f7b71f
commit 4af6aa85d3
5 changed files with 13 additions and 6 deletions

View File

@ -12,7 +12,6 @@ const reddit = new snoowrap(config.reddit.api);
const curateSubmissions = require('./curate/submissions.js'); const curateSubmissions = require('./curate/submissions.js');
const curateUser = require('./curate/user.js'); const curateUser = require('./curate/user.js');
const methods = require('./methods/methods.js');
const interpolate = require('./interpolate.js'); const interpolate = require('./interpolate.js');
const fetchInfo = require('./fetch/info.js'); const fetchInfo = require('./fetch/info.js');
@ -57,6 +56,6 @@ users.forEach(username => {
}).then(({user, posts}) => { }).then(({user, posts}) => {
return fetchContent(posts, user); return fetchContent(posts, user);
}).catch(error => { }).catch(error => {
return console.log(error); return console.log('\x1b[31m%s\x1b[0m', error);
}); });
}); });

View File

@ -33,7 +33,7 @@ const hosts = [{
}, { }, {
method: 'eroshare', method: 'eroshare',
label: 'eroshare', label: 'eroshare',
pattern: new urlPattern('http(s)\\://eroshare.com/:id') pattern: new urlPattern('http(s)\\://eroshare.com/:id(#)(:query)')
}]; }];
module.exports = function dissectLink(url) { module.exports = function dissectLink(url) {

View File

@ -13,7 +13,7 @@ function eroshare(post) {
return Promise.reject(`Unable to recover Eroshare video '${post.host.id}' :(`); return Promise.reject(`Unable to recover Eroshare video '${post.host.id}' :(`);
}).then(res => { }).then(res => {
const data = JSON.parse(res.match(/var album = .*/)[0].slice(12, -1)); const data = JSON.parse(res.match(/var album = .*/)[0].slice(12, -1));
const extract = config.patterns.album.extractSingleItem && data.items.length === 1; const extract = config.library.album.extractSingleItem && data.items.length === 1;
return { return {
album: extract ? null : { album: extract ? null : {

View File

@ -10,6 +10,10 @@ function imgurAlbum(post) {
'Authorization': `Client-ID ${config.methods.imgur.clientId}` 'Authorization': `Client-ID ${config.methods.imgur.clientId}`
} }
}).then(res => res.json()).then(res => { }).then(res => res.json()).then(res => {
if(!res.ok) {
throw new Error(`Could not fetch info for imgur album '${post.host.id}': ${res.data.error}`);
}
const extract = config.library.album.extractSingleItem && res.data.images.length === 1; const extract = config.library.album.extractSingleItem && res.data.images.length === 1;
if(extract) { if(extract) {
@ -37,7 +41,7 @@ function imgurAlbum(post) {
})) }))
}; };
}).catch(error => { }).catch(error => {
console.error(error); return console.log('\x1b[31m%s\x1b[0m', error);
}); });
}; };

View File

@ -10,6 +10,10 @@ function imgurImage(post) {
'Authorization': `Client-ID ${config.methods.imgur.clientId}` 'Authorization': `Client-ID ${config.methods.imgur.clientId}`
} }
}).then(res => res.json()).then(res => { }).then(res => res.json()).then(res => {
if(!res.ok) {
throw new Error(`Could not fetch info for imgur image '${post.host.id}': ${res.data.error}`);
}
return { return {
album: null, album: null,
items: [{ items: [{
@ -23,7 +27,7 @@ function imgurImage(post) {
}] }]
}; };
}).catch(error => { }).catch(error => {
console.error(error); return console.log('\x1b[31m%s\x1b[0m', error);
}); });
}; };