summaryrefslogtreecommitdiffstats
path: root/abs/core/mythtv
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/mythtv')
-rw-r--r--abs/core/mythtv/stable-0.27/git_src/git_hash2
-rw-r--r--abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD2
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/PKGBUILD8
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/tmdb3_query_limit.2.diff70
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/tmdb_error25.patch55
5 files changed, 76 insertions, 61 deletions
diff --git a/abs/core/mythtv/stable-0.27/git_src/git_hash b/abs/core/mythtv/stable-0.27/git_src/git_hash
index a53d40b..3ebe7b8 100644
--- a/abs/core/mythtv/stable-0.27/git_src/git_hash
+++ b/abs/core/mythtv/stable-0.27/git_src/git_hash
@@ -1 +1 @@
-68e51d6fd4fa25e985b21cb3a5b5ca6fce9aca9d
+acd481df3f5be108bd6de5f4be27ac50aedab162
diff --git a/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD
index 69f3ccf..127c5d3 100644
--- a/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD
+++ b/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD
@@ -9,7 +9,7 @@ pkgname=('mytharchive'
'mythweather'
'mythzoneminder')
pkgver=0.27.5
-pkgrel=10
+pkgrel=11
arch=('i686' 'x86_64')
url="http://www.mythtv.org"
license=('GPL')
diff --git a/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD
index 1e6a917..786ca3d 100644
--- a/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythtv
pkgver=0.27.5
-pkgrel=10
+pkgrel=11
commit_hash=`cat ../git_src/git_hash`
pkgdesc="A Homebrew PVR project $commit_hash"
arch=('i686' 'x86_64')
@@ -23,10 +23,10 @@ patches=('myth_settings.patch'
'videoAlwaysUseBookmark.patch'
'fixQTvirtualkeyboard.patch'
'suggestedstarttime.patch.v1'
- 'tmdb_error25.patch')
+ 'tmdb3_query_limit.2.diff')
#fixQTvirtualkeyboard.patch: https://code.mythtv.org/trac/ticket/12347
#suggestedstarttime.patch.v1: http://code.mythtv.org/trac/ticket/11562 next mythfilldatabase run in mythweb
- #tmdb_error25.patch: https://code.mythtv.org/trac/ticket/12455
+ #tmdb3_query_limit.2.diff: https://code.mythtv.org/trac/ticket/12455
optdepends=()
replaces=('mythvideo' 'myththemes')
@@ -109,5 +109,5 @@ md5sums=('5f3e43567e62afe17bad39f5a9b604cf'
'41098e898361a5a3cde3eaae358482a8'
'a853dff0f5c92ca58fcc1e389cd16266'
'35a7fd3e3057691e3b1bf355bb9e8b16'
- '5e645c3d0df38143c45f3e8fe24f1b6f'
+ 'a41581e7b80093eeadabcf7d9d01fc19'
'928de4b070d9f3b784d55c0db415eaf3')
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
new file mode 100644
index 0000000..7b44537
--- /dev/null
+++ b/abs/core/mythtv/stable-0.27/mythtv/tmdb3_query_limit.2.diff
@@ -0,0 +1,70 @@
+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))
+
+
diff --git a/abs/core/mythtv/stable-0.27/mythtv/tmdb_error25.patch b/abs/core/mythtv/stable-0.27/mythtv/tmdb_error25.patch
deleted file mode 100644
index fc1a2fe..0000000
--- a/abs/core/mythtv/stable-0.27/mythtv/tmdb_error25.patch
+++ /dev/null
@@ -1,55 +0,0 @@
---- src/mythtv/bindings/python/tmdb3/tmdb3/request.py.orig 2015-09-29 16:11:52.436024705 +0000
-+++ src/mythtv/bindings/python/tmdb3/tmdb3/request.py 2015-09-29 16:13:24.297824407 +0000
-@@ -16,6 +16,7 @@
- import urllib2
- import json
- import os
-+import time
-
- DEBUG = False
- cache = Cache(filename='pytmdb3.cache')
-@@ -113,21 +114,29 @@
- 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:
-- try:
-- # try to load whatever was returned
-- data = json.loads(e.response)
-- except:
-- # cannot parse json, 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
-+ while True:
-+ try:
-+ # 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 minute.
-+ if data.get('status_code', 1) == 25:
-+ # Sleep and retry query.
-+ time.sleep(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
- handle_status(data, url)
- if DEBUG:
- import pprint