From 4b42e80d903c7533c375d5181084f97ba1b2abcf Mon Sep 17 00:00:00 2001 From: TheBeastLT Date: Mon, 1 Feb 2021 08:48:20 +0100 Subject: [PATCH] [addon] improve premiumize error handling --- addon/moch/premiumize.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/addon/moch/premiumize.js b/addon/moch/premiumize.js index d6c63e8..ad49a0e 100644 --- a/addon/moch/premiumize.js +++ b/addon/moch/premiumize.js @@ -93,6 +93,17 @@ async function resolve({ ip, apiKey, infoHash, cachedEntryInfo, fileIndex }) { return cachedLink; } + return _resolve(PM, infoHash, cachedEntryInfo, fileIndex) + .catch(error => { + if (error && error.message && error.message.includes('purchase')) { + console.log(`Access denied to Premiumize ${infoHash} [${fileIndex}]`); + return StaticResponse.FAILED_ACCESS; + } + return Promise.reject(`Failed Premiumize adding torrent ${JSON.stringify(error)}`); + }); +} + +async function _resolve(PM, infoHash, cachedEntryInfo, fileIndex) { const torrent = await _createOrFindTorrent(PM, infoHash); if (torrent && statusReady(torrent.status)) { return _getCachedLink(PM, infoHash, cachedEntryInfo, fileIndex, ip); @@ -121,11 +132,7 @@ async function _getCachedLink(PM, infoHash, encodedFileName, fileIndex, ip) { async function _createOrFindTorrent(PM, infoHash) { return _findTorrent(PM, infoHash) - .catch(() => _createTorrent(PM, infoHash)) - .catch(error => { - console.warn('Failed Premiumize torrent retrieval', error); - return error; - }); + .catch(() => _createTorrent(PM, infoHash)); } async function _findTorrent(PM, infoHash) {