Fixed status check for movies

This commit is contained in:
echel0n 2014-04-19 10:12:20 -07:00
commit e1a5e0b11b
2 changed files with 22 additions and 12 deletions

View file

@ -9,17 +9,17 @@ from nzbtomedia import logger
class autoProcessMovie: class autoProcessMovie:
def get_release(self, baseURL, imdbid=None, download_id=None, release_status='snatched'): def get_release(self, baseURL, imdbid=None, download_id=None, release_id=None):
results = {} results = {}
params = {} params = {}
# determin cmd and params to send to CouchPotato to get our results # determin cmd and params to send to CouchPotato to get our results
section = 'movies' section = 'movies'
cmd = "/media.list" cmd = "/media.list"
if imdbid: if release_id or imdbid:
section = 'media' section = 'media'
cmd = "/media.get" cmd = "/media.get"
params['id'] = imdbid params['id'] = release_id or imdbid
url = baseURL + cmd url = baseURL + cmd
logger.debug("Opening URL: %s" % url) logger.debug("Opening URL: %s" % url)
@ -31,6 +31,16 @@ class autoProcessMovie:
return return
result = r.json() result = r.json()
# Gather release info and return it back, no need to narrow results
if release_id:
try:
id = result[section]['_id']
results[id] = result[section]
return results
except:pass
# Gather release info and proceed with trying to narrow results to one release choice
movies = result[section] movies = result[section]
if not isinstance(movies, list): if not isinstance(movies, list):
movies = [movies] movies = [movies]
@ -39,8 +49,6 @@ class autoProcessMovie:
continue continue
releases = movie['releases'] releases = movie['releases']
for release in releases: for release in releases:
if release['status'] not in release_status:
continue
try: try:
if download_id: if download_id:
if download_id != release['download_info']['id']: if download_id != release['download_info']['id']:
@ -116,14 +124,14 @@ class autoProcessMovie:
release_id = None release_id = None
media_id = None media_id = None
downloader = None downloader = None
release_status = None release_status_old = None
if len(release) == 1: if len(release) == 1:
try: try:
release_id = release.keys()[0] release_id = release.keys()[0]
media_id = release[release_id]['media_id'] media_id = release[release_id]['media_id']
download_id = release[release_id]['download_info']['id'] download_id = release[release_id]['download_info']['id']
downloader = release[release_id]['download_info']['downloader'] downloader = release[release_id]['download_info']['downloader']
release_status = release[release_id]['status'] release_status_old = release[release_id]['status']
except: except:
pass pass
@ -225,12 +233,14 @@ class autoProcessMovie:
# we will now check to see if CPS has finished renaming before returning to TorrentToMedia and unpausing. # we will now check to see if CPS has finished renaming before returning to TorrentToMedia and unpausing.
timeout = time.time() + 60 * wait_for timeout = time.time() + 60 * wait_for
while (time.time() < timeout): # only wait 2 (default) minutes, then return. while (time.time() < timeout): # only wait 2 (default) minutes, then return.
release = self.get_release(baseURL, imdbid, download_id, 'downloaded,done')
logger.postprocess("Checking for status change, please stand by ...", section) logger.postprocess("Checking for status change, please stand by ...", section)
release = self.get_release(baseURL, imdbid, download_id, release_id)
if release: if release:
try: try:
release_status_new = release[release_id]['status']
if release_status_new != release_status_old:
logger.postprocess("SUCCESS: Release %s has now been marked with a status of [%s]" % ( logger.postprocess("SUCCESS: Release %s has now been marked with a status of [%s]" % (
nzbName, str(release['status']).upper()), section) nzbName, str(release_status_new).upper()), section)
return 0 # success return 0 # success
except: except:
pass pass

View file

@ -5,9 +5,9 @@ import stat
import struct import struct
import shutil import shutil
import time import time
from lib import requests
import nzbtomedia import nzbtomedia
from lib import requests
from nzbtomedia.linktastic import linktastic from nzbtomedia.linktastic import linktastic
from nzbtomedia import logger from nzbtomedia import logger
from nzbtomedia.synchronousdeluge.client import DelugeClient from nzbtomedia.synchronousdeluge.client import DelugeClient