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 --- couchpotato/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 ebf2899..f29fd15 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 979ffb1..472bb12 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 --- couchpotato/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 51afbae..92b3fb3 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 1b0881b..48a66b0 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 --- couchpotato/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 0daf20a..725aabb 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)