From 17c601c6260234ecf1df94aeebc7c606de6de4ed Mon Sep 17 00:00:00 2001 From: Brian Hartvigsen Date: Sun, 3 Jul 2016 02:42:23 -0600 Subject: [PATCH 1/3] Don't throw out good data when there is no error Based on playing with the HD4Free API, it looks like the 'error' property is only added if there is an error So instead of ignoring all the data, just look for the property if/when we need it. --- couchpotato/core/media/_base/providers/torrent/hd4free.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/couchpotato/core/media/_base/providers/torrent/hd4free.py b/couchpotato/core/media/_base/providers/torrent/hd4free.py index 20ac0ca..e84fada 100644 --- a/couchpotato/core/media/_base/providers/torrent/hd4free.py +++ b/couchpotato/core/media/_base/providers/torrent/hd4free.py @@ -25,11 +25,10 @@ class Base(TorrentProvider): def _search(self, movie, quality, results): data = self.getJsonData(self.urls['search'] % (self.conf('apikey'), self.conf('username'), getIdentifier(movie), self.conf('internal_only'))) - if 'error' in data: - if data: - if self.login_fail_msg in data['error']: # Check for login failure - self.disableAccount() - return + if data: + if error in data and self.login_fail_msg in data['error']: # Check for login failure + self.disableAccount() + return try: #for result in data[]: From ba5b24f19360d5e84fb368e33afa648639e2cbd1 Mon Sep 17 00:00:00 2001 From: Brian Hartvigsen Date: Sat, 9 Jul 2016 18:59:04 -0600 Subject: [PATCH 2/3] detect all errors and log message --- couchpotato/core/media/_base/providers/torrent/hd4free.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/couchpotato/core/media/_base/providers/torrent/hd4free.py b/couchpotato/core/media/_base/providers/torrent/hd4free.py index e84fada..5951be2 100644 --- a/couchpotato/core/media/_base/providers/torrent/hd4free.py +++ b/couchpotato/core/media/_base/providers/torrent/hd4free.py @@ -1,3 +1,4 @@ + import re import json import traceback @@ -26,8 +27,11 @@ class Base(TorrentProvider): data = self.getJsonData(self.urls['search'] % (self.conf('apikey'), self.conf('username'), getIdentifier(movie), self.conf('internal_only'))) if data: - if error in data and self.login_fail_msg in data['error']: # Check for login failure - self.disableAccount() + if 'error' in data: + if self.login_fail_msg in data['error']: # Check for login failure + self.disableAccount() + else: + log.warn('%s return an error (possible rate limit): %s', (self.getName(), data['error'])) return try: From 661f5d501f4e58202b9a546b7ba464e1edf731a7 Mon Sep 17 00:00:00 2001 From: Brian Hartvigsen Date: Sat, 9 Jul 2016 19:16:57 -0600 Subject: [PATCH 3/3] use error as warn doesn't exist --- couchpotato/core/media/_base/providers/torrent/hd4free.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/couchpotato/core/media/_base/providers/torrent/hd4free.py b/couchpotato/core/media/_base/providers/torrent/hd4free.py index 5951be2..dbffba5 100644 --- a/couchpotato/core/media/_base/providers/torrent/hd4free.py +++ b/couchpotato/core/media/_base/providers/torrent/hd4free.py @@ -31,7 +31,7 @@ class Base(TorrentProvider): if self.login_fail_msg in data['error']: # Check for login failure self.disableAccount() else: - log.warn('%s return an error (possible rate limit): %s', (self.getName(), data['error'])) + log.error('%s returned an error (possible rate limit): %s', (self.getName(), data['error'])) return try: