diff options
Diffstat (limited to 'abs/core/mythtv/stable-0.27/mythtv/tmdb3_query_limit.2.diff')
-rw-r--r-- | abs/core/mythtv/stable-0.27/mythtv/tmdb3_query_limit.2.diff | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/abs/core/mythtv/stable-0.27/mythtv/tmdb3_query_limit.2.diff b/abs/core/mythtv/stable-0.27/mythtv/tmdb3_query_limit.2.diff deleted file mode 100644 index 7b44537..0000000 --- a/abs/core/mythtv/stable-0.27/mythtv/tmdb3_query_limit.2.diff +++ /dev/null @@ -1,70 +0,0 @@ -diff --git mythtv/bindings/python/tmdb3/tmdb3/request.py mythtv/bindings/python/tmdb3/tmdb3/request.py -index 2de4cd5..1b6663d 100644 ---- src/mythtv/bindings/python/tmdb3/tmdb3/request.py -+++ src/mythtv/bindings/python/tmdb3/tmdb3/request.py -@@ -16,6 +16,7 @@ from urllib import urlencode - import urllib2 - import json - import os -+import time - - DEBUG = False - cache = Cache(filename='pytmdb3.cache') -@@ -113,21 +114,32 @@ class Request(urllib2.Request): - def readJSON(self): - """Parse result from specified URL as JSON data.""" - url = self.get_full_url() -- try: -- # catch HTTP error from open() -- data = json.load(self.open()) -- except TMDBHTTPError, e: -+ tries = 0 -+ while tries < 100: - try: -- # try to load whatever was returned -- data = json.loads(e.response) -- except: -- # cannot parse json, just raise existing error -+ # catch HTTP error from open() -+ data = json.load(self.open()) -+ break -+ except TMDBHTTPError, e: -+ try: -+ # try to load whatever was returned -+ data = json.loads(e.response) -+ except: -+ # cannot parse json, just raise existing error -+ raise e -+ else: -+ # Check for error code of 25 which means we are doing more than 40 requests per 10 seconds -+ if data.get('status_code', 1) ==25: -+ # Sleep and retry query. -+ if DEBUG: -+ print 'Retry after {0} seconds'.format(max(float(e.headers['retry-after']),10)) -+ time.sleep(max(float(e.headers['retry-after']),10)) -+ continue -+ else: -+ # response parsed, try to raise error from TMDB -+ handle_status(data, url) -+ # no error from TMDB, just raise existing error - raise e -- else: -- # response parsed, try to raise error from TMDB -- handle_status(data, url) -- # no error from TMDB, just raise existing error -- raise e - handle_status(data, url) - if DEBUG: - import pprint -diff --git mythtv/bindings/python/tmdb3/tmdb3/tmdb_exceptions.py mythtv/bindings/python/tmdb3/tmdb3/tmdb_exceptions.py -index f85fbcf..5020c4a 100644 ---- src/mythtv/bindings/python/tmdb3/tmdb3/tmdb_exceptions.py -+++ src/mythtv/bindings/python/tmdb3/tmdb3/tmdb_exceptions.py -@@ -96,6 +96,7 @@ class TMDBHTTPError(TMDBError): - def __init__(self, err): - self.httperrno = err.code - self.response = err.fp.read() -+ self.headers = err.headers - super(TMDBHTTPError, self).__init__(str(err)) - - |