From 3155f9493a2687318b20f6b147fe26baf5d223e8 Mon Sep 17 00:00:00 2001 From: Nigel Rook Date: Sun, 28 Feb 2016 23:54:34 +0000 Subject: [PATCH] Also check sabnzbd history for nzoid --- core/nzbToMediaUtil.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/core/nzbToMediaUtil.py b/core/nzbToMediaUtil.py index 39e3e7a1..5a1b0f8f 100644 --- a/core/nzbToMediaUtil.py +++ b/core/nzbToMediaUtil.py @@ -824,6 +824,7 @@ def find_download(clientAgent, download_id): def get_nzoid(inputName): nzoid = None + slots = [] logger.debug("Searching for nzoid from SAbnzbd ...") if "http" in core.SABNZBDHOST: baseURL = "%s:%s/api" % (core.SABNZBDHOST, core.SABNZBDPORT) @@ -842,9 +843,25 @@ def get_nzoid(inputName): try: result = r.json() cleanName = os.path.splitext(os.path.split(inputName)[1])[0] - for slot in result['queue']['slots']: - if slot['filename'] in [inputName, cleanName]: - nzoid = slot['nzo_id'] + slots.extend([(slot['nzo_id'], slot['filename']) for slot in result['queue']['slots']]) + except: + logger.warning("Data from SABnzbd queue could not be parsed") + params['mode'] = "history" + try: + r = requests.get(url, params=params, verify=False, timeout=(30, 120)) + except requests.ConnectionError: + logger.error("Unable to open URL") + return nzoid # failure + try: + result = r.json() + cleanName = os.path.splitext(os.path.split(inputName)[1])[0] + slots.extend([(slot['nzo_id'], slot['name']) for slot in result['history']['slots']]) + except: + logger.warning("Data from SABnzbd history could not be parsed") + try: + for nzo_id, name in slots: + if name in [inputName, cleanName]: + nzoid = nzo_id logger.debug("Found nzoid: %s" % nzoid) break except: