From d626fda7109f4fa7199221084745dd21fe182d79 Mon Sep 17 00:00:00 2001 From: georgewhewell Date: Fri, 17 Oct 2014 15:14:44 +0100 Subject: [PATCH 1/5] add option for internal only for hdbits provider --- .../core/media/_base/providers/torrent/hdbits.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/couchpotato/core/media/_base/providers/torrent/hdbits.py b/couchpotato/core/media/_base/providers/torrent/hdbits.py index ebf2899b..f29fd157 100644 --- a/couchpotato/core/media/_base/providers/torrent/hdbits.py +++ b/couchpotato/core/media/_base/providers/torrent/hdbits.py @@ -29,6 +29,9 @@ class Base(TorrentProvider): } post_data.update(params) + if self.conf('internal_only'): + post_data.update({'origin': [1]}) + try: result = self.getJsonData(self.urls['api'], data = json.dumps(post_data)) @@ -110,6 +113,14 @@ config = [{ 'default': 0, 'description': 'Starting score for each release found via this provider.', }, + { + 'name': 'internal_only', + 'advanced': True, + 'label': 'Internal Only', + 'type': 'bool', + 'default': False, + 'description': 'Only download releases marked as HDBits internal' + } ], }, ], From 43af80a1375322626b13c040f060b6be288c0e02 Mon Sep 17 00:00:00 2001 From: Rutger van Sleen Date: Thu, 6 Nov 2014 14:33:38 +0100 Subject: [PATCH 2/5] Update SSL protocol for Deluge connections Since Deluge 1.3.10 the SSL protocol is updated to TLSv1 instead of SSLv3. This resulted in CP not being able to add new torrents. Link to change in Deluge: http://git.deluge-torrent.org/deluge/commit/?h=1.3-stable&id=26f5be17609a8312c4ba06aa120ed208cd7876f2 --- libs/synchronousdeluge/transfer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/synchronousdeluge/transfer.py b/libs/synchronousdeluge/transfer.py index 979ffb16..472bb125 100644 --- a/libs/synchronousdeluge/transfer.py +++ b/libs/synchronousdeluge/transfer.py @@ -19,7 +19,7 @@ class DelugeTransfer(object): self.disconnect() self.sock = socket.create_connection(hostport) - self.conn = ssl.wrap_socket(self.sock, None, None, False, ssl.CERT_NONE, ssl.PROTOCOL_SSLv3) + self.conn = ssl.wrap_socket(self.sock, None, None, False, ssl.CERT_NONE, ssl.PROTOCOL_TLSv1) self.connected = True def disconnect(self): From 1087eb3a0611dadd93cc231b93aa131549ce799a Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 9 Nov 2014 14:10:23 +0100 Subject: [PATCH 3/5] Add adding parameter to is_movie --- .../core/media/movie/providers/info/couchpotatoapi.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/couchpotato/core/media/movie/providers/info/couchpotatoapi.py b/couchpotato/core/media/movie/providers/info/couchpotatoapi.py index 51afbaef..92b3fb3f 100644 --- a/couchpotato/core/media/movie/providers/info/couchpotatoapi.py +++ b/couchpotato/core/media/movie/providers/info/couchpotatoapi.py @@ -69,12 +69,15 @@ class CouchPotatoApi(MovieProvider): name_enc = base64.b64encode(ss(name)) return self.getJsonData(self.urls['validate'] % name_enc, headers = self.getRequestHeaders()) - def isMovie(self, identifier = None): + def isMovie(self, identifier = None, adding = False): if not identifier: return - data = self.getJsonData(self.urls['is_movie'] % identifier, headers = self.getRequestHeaders()) + url = self.urls['is_movie'] % identifier + url += '?adding=1' if adding else '' + + data = self.getJsonData(url, headers = self.getRequestHeaders()) if data: return data.get('is_movie', True) From 3669aef42d6cc35d21f75b4674f69308f0a9daf9 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 9 Nov 2014 14:14:06 +0100 Subject: [PATCH 4/5] is_movie param --- couchpotato/core/media/movie/_base/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/couchpotato/core/media/movie/_base/main.py b/couchpotato/core/media/movie/_base/main.py index 1b0881b5..48a66b05 100755 --- a/couchpotato/core/media/movie/_base/main.py +++ b/couchpotato/core/media/movie/_base/main.py @@ -65,7 +65,7 @@ class MovieBase(MovieTypeBase): return False elif not params.get('info'): try: - is_movie = fireEvent('movie.is_movie', identifier = params.get('identifier'), single = True) + is_movie = fireEvent('movie.is_movie', identifier = params.get('identifier'), adding = True, single = True) if not is_movie: msg = 'Can\'t add movie, seems to be a TV show.' log.error(msg) From 269e785888ae1eef7d3d38975f9bfd343fd3e4ab Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 9 Nov 2014 14:30:22 +0100 Subject: [PATCH 5/5] Yify, don't include quality in search fix #4190 --- .../core/media/_base/providers/torrent/yify.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/couchpotato/core/media/_base/providers/torrent/yify.py b/couchpotato/core/media/_base/providers/torrent/yify.py index 0daf20a0..725aabbc 100644 --- a/couchpotato/core/media/_base/providers/torrent/yify.py +++ b/couchpotato/core/media/_base/providers/torrent/yify.py @@ -12,17 +12,16 @@ class Base(TorrentMagnetProvider): urls = { 'test': '%s/api', - 'search': '%s/api/list.json?keywords=%s&quality=%s', + 'search': '%s/api/list.json?keywords=%s', 'detail': '%s/api/movie.json?id=%s' } http_time_between_calls = 1 # seconds proxy_list = [ - 'http://yify.unlocktorrent.com', - 'http://yify-torrents.com.come.in', - 'http://yts.re', - 'http://yts.im' + 'https://yts.re', + 'http://ytsproxy.come.in', + 'http://yts.im', 'http://yify-torrents.im', ] @@ -39,7 +38,7 @@ class Base(TorrentMagnetProvider): if not domain: return - search_url = self.urls['search'] % (domain, getIdentifier(movie), quality['identifier']) + search_url = self.urls['search'] % (domain, getIdentifier(movie)) data = self.getJsonData(search_url)