[addon] return dead link as ready ones and redownload on hoster unavailable error

This commit is contained in:
TheBeastLT
2020-12-13 17:04:29 +01:00
parent 37c1c0e298
commit f84a219726

View File

@@ -223,17 +223,31 @@ async function _unrestrictLink(RD, torrent, fileIndex) {
return Promise.reject(`No RealDebrid links found for ${torrent.hash} [${fileIndex}]`); return Promise.reject(`No RealDebrid links found for ${torrent.hash} [${fileIndex}]`);
} }
const unrestrictedLink = await RD.unrestrict.link(fileLink).then(response => response.download); return _unrestrictFileLink(RD, fileLink, torrent, fileIndex);
if (isArchive(unrestrictedLink)) { }
return StaticResponse.FAILED_RAR;
} async function _unrestrictFileLink(RD, fileLink, torrent, fileIndex) {
// const transcodedLink = await RD.streaming.transcode(unrestrictedLink.id); return RD.unrestrict.link(fileLink)
console.log(`Unrestricted RealDebrid ${torrent.hash} [${fileIndex}] to ${unrestrictedLink}`); .then(response => response.download)
return unrestrictedLink; .then(unrestrictedLink => {
if (isArchive(unrestrictedLink)) {
return StaticResponse.FAILED_RAR;
}
// const transcodedLink = await RD.streaming.transcode(unrestrictedLink.id);
console.log(`Unrestricted RealDebrid ${torrent.hash} [${fileIndex}] to ${unrestrictedLink}`);
return unrestrictedLink;
})
.catch(error => {
if (error.code === 19) {
return _retryCreateTorrent(RD, torrent.hash.toLowerCase(), undefined, fileIndex)
.then(() => StaticResponse.FAILED_DOWNLOAD);
}
return Promise.reject(error);
});
} }
function statusError(status) { function statusError(status) {
return ['error', 'dead', 'magnet_error'].includes(status) return ['error', 'magnet_error'].includes(status);
} }
function statusOpening(status) { function statusOpening(status) {
@@ -249,7 +263,7 @@ function statusDownloading(status) {
} }
function statusReady(status) { function statusReady(status) {
return status === 'downloaded'; return ['downloaded', 'dead'].includes(status);
} }
async function getDefaultOptions(id) { async function getDefaultOptions(id) {