[addon] fixes AD exception handling

This commit is contained in:
TheBeastLT
2020-12-15 18:06:24 +01:00
parent 604ee5cbfb
commit 1067720304
2 changed files with 9 additions and 7 deletions

View File

@@ -81,7 +81,7 @@ async function resolve({ ip, apiKey, infoHash, cachedEntryInfo, fileIndex }) {
console.log(`Access denied to AllDebrid ${infoHash} [${fileIndex}]`);
return StaticResponse.FAILED_ACCESS;
}
return Promise.reject(`Failed AllDebrid adding torrent ${error}`);
return Promise.reject(`Failed AllDebrid adding torrent ${JSON.stringify(error)}`);
});
}
@@ -102,11 +102,7 @@ async function _resolve(AD, infoHash, cachedEntryInfo, fileIndex) {
async function _createOrFindTorrent(AD, infoHash) {
return _findTorrent(AD, infoHash)
.catch(() => _createTorrent(AD, infoHash))
.catch(error => {
console.warn('Failed AllDebrid torrent retrieval', error);
return error;
});
.catch(() => _createTorrent(AD, infoHash));
}
async function _retryCreateTorrent(AD, infoHash, encodedFileName, fileIndex) {

View File

@@ -82,7 +82,13 @@ async function getCatalog(apiKey, offset = 0) {
.then(nextTorrents => torrents.concat(nextTorrents))
.catch(() => torrents)
: torrents)
.then(torrents => torrents && torrents.length ? torrents : [])
.then(torrents => {
if (Array.isArray(torrents)) {
return torrents;
}
console.log(`Received non array response for RealDebrid catalog: `, torrents)
return [];
})
.then(torrents => torrents
.filter(torrent => statusReady(torrent.status))
.map(torrent => ({