From a56bbf0b3b719b5081198c7d25254c7e5b3623f2 Mon Sep 17 00:00:00 2001
From: Ruud <ruud@crashdummy.nl>
Date: Sun, 3 Feb 2013 21:50:29 +0100
Subject: [PATCH] CP API cleanup

---
 .../providers/movie/couchpotatoapi/main.py    | 48 ++++---------------
 1 file changed, 10 insertions(+), 38 deletions(-)

diff --git a/couchpotato/core/providers/movie/couchpotatoapi/main.py b/couchpotato/core/providers/movie/couchpotatoapi/main.py
index 391af03e..87586847 100644
--- a/couchpotato/core/providers/movie/couchpotatoapi/main.py
+++ b/couchpotato/core/providers/movie/couchpotatoapi/main.py
@@ -5,9 +5,7 @@ from couchpotato.core.helpers.request import jsonified, getParams
 from couchpotato.core.logger import CPLog
 from couchpotato.core.providers.movie.base import MovieProvider
 from couchpotato.core.settings.model import Movie
-from flask.helpers import json
 import time
-import traceback
 
 log = CPLog(__name__)
 
@@ -33,18 +31,7 @@ class CouchPotatoApi(MovieProvider):
         addEvent('movie.is_movie', self.isMovie)
 
     def search(self, q, limit = 12):
-
-        cache_key = 'cpapi.cache.%s' % q
-        cached = self.getCache(cache_key, self.urls['search'] % tryUrlencode(q), headers = self.getRequestHeaders())
-
-        if cached:
-            try:
-                movies = json.loads(cached)
-                return movies
-            except:
-                log.error('Failed parsing search results: %s', traceback.format_exc())
-
-        return []
+        return self.getJsonData(self.urls['search'] % tryUrlencode(q), headers = self.getRequestHeaders())
 
     def isMovie(self, identifier = None):
 
@@ -62,38 +49,23 @@ class CouchPotatoApi(MovieProvider):
         if not identifier:
             return
 
-        cache_key = 'cpapi.cache.info.%s' % identifier
-        cached = self.getCache(cache_key, self.urls['info'] % identifier, headers = self.getRequestHeaders())
-
-        if cached:
-            try:
-                movie = json.loads(cached)
-                return movie
-            except:
-                log.error('Failed parsing info results: %s', traceback.format_exc())
+        result = self.getJsonData(self.urls['info'] % identifier, headers = self.getRequestHeaders())
+        if result: return result
 
         return {}
 
     def getReleaseDate(self, identifier = None):
-
         if identifier is None: return {}
-        try:
-            data = self.urlopen(self.urls['eta'] % identifier, headers = self.getRequestHeaders())
-            dates = json.loads(data)
-            log.debug('Found ETA for %s: %s', (identifier, dates))
-            return dates
-        except Exception, e:
-            log.error('Error getting ETA for %s: %s', (identifier, e))
 
-        return {}
+        dates = self.getJsonData(self.urls['eta'] % identifier, headers = self.getRequestHeaders())
+        log.debug('Found ETA for %s: %s', (identifier, dates))
+
+        return dates
 
     def suggest(self, movies = [], ignore = []):
-        try:
-            data = self.urlopen(self.urls['suggest'] % (','.join(movies), ','.join(ignore)))
-            suggestions = json.loads(data)
-            log.info('Found Suggestions for %s', (suggestions))
-        except Exception, e:
-            log.error('Error getting suggestions for %s: %s', (movies, e))
+
+        suggestions = self.getJsonData(self.urls['suggest'] % (','.join(movies), ','.join(ignore)))
+        log.info('Found Suggestions for %s', (suggestions))
 
         return suggestions
 
-- 
GitLab