diff --git a/couchpotato/core/media/_base/providers/torrent/iptorrents.py b/couchpotato/core/media/_base/providers/torrent/iptorrents.py index 1197838..e3331ef 100644 --- a/couchpotato/core/media/_base/providers/torrent/iptorrents.py +++ b/couchpotato/core/media/_base/providers/torrent/iptorrents.py @@ -14,11 +14,11 @@ log = CPLog(__name__) class Base(TorrentProvider): urls = { - 'test': 'https://iptorrents.eu/', - 'base_url': 'https://iptorrents.eu', - 'login': 'https://iptorrents.eu/take_login.php', - 'login_check': 'https://iptorrents.eu/oldinbox.php', - 'search': 'https://iptorrents.eu/t?%s%%s&q=%s&qf=ti#torrents&p=%%d', + 'test': 'https://iptorrents.com/', + 'base_url': 'https://iptorrents.com', + 'login': 'https://iptorrents.com/take_login.php', + 'login_check': 'https://iptorrents.com/oldinbox.php', + 'search': 'https://iptorrents.com/t?%s%%s&q=%s&qf=ti#torrents&p=%%d', } http_time_between_calls = 1 # Seconds @@ -36,6 +36,8 @@ class Base(TorrentProvider): log.warning('Unable to find category ids for identifier "%s"', quality.get('identifier')) return None + query = query.replace('"', '') + return self.urls['search'] % ("&".join(("%d=" % x) for x in cat_ids), tryUrlencode(query).replace('%', '%%')) def _searchOnTitle(self, title, media, quality, results): @@ -61,7 +63,7 @@ class Base(TorrentProvider): final_page_link = next_link.previous_sibling.previous_sibling pages = int(final_page_link.string) - result_table = html.find('table', attrs = {'id': 'torrents'}) + result_table = html.find('table', attrs={'id': 'torrents'}) if not result_table or 'nothing found!' in data.lower(): return @@ -121,7 +123,7 @@ config = [{ 'tab': 'searcher', 'list': 'torrent_providers', 'name': 'IPTorrents', - 'description': 'IPTorrents', + 'description': 'IPTorrents', 'wizard': True, 'icon': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABRklEQVR42qWQO0vDUBiG8zeKY3EqQUtNO7g0J6ZJ1+ifKIIFQXAqDYKCyaaYxM3udrZLHdRFhXrZ6liCW6mubfk874EESgqaeOCF7/Y8hEh41aq6yZi2nyZgBGya9XKtZs4No05pAkZV2YbEmyMMsoSxLQeC46wCTdPPY4HruPQyGIhF97qLWsS78Miydn4XdK46NJ9OsQAYBzMIMf8MQ9wtCnTdWCaIDx/u7uljOIQEe0hiIWPamSTLay3+RxOCSPI9+RJAo7Er9r2bnqjBFAqyK+VyK4f5/Cr5ni8OFKVCz49PFI5GdNvvU7ttE1M1zMU+8AMqFksEhrMnQsBDzqmDAwzx2ehRLwT7yyCI+vSC99c3mozH1NxrJgWWtR1BOECfEJSVCm6WCzJGCA7+IWhBsM4zywDPwEp4vCjx2DzBH2ODAfsDb33Ps6dQwJgAAAAASUVORK5CYII=', 'options': [ diff --git a/couchpotato/core/media/_base/providers/torrent/kickasstorrents.py b/couchpotato/core/media/_base/providers/torrent/kickasstorrents.py index 825dd64..a4df2cc 100644 --- a/couchpotato/core/media/_base/providers/torrent/kickasstorrents.py +++ b/couchpotato/core/media/_base/providers/torrent/kickasstorrents.py @@ -30,6 +30,11 @@ class Base(TorrentMagnetProvider): cat_backup_id = None proxy_list = [ + 'http://flowtorrent.com', + 'http://katcr.to/span', + 'http://dx-torrente.com', + 'https://kickass.unblocked.vip', + 'https://katcr.co', 'https://kat.how', 'https://kickass.cd', 'https://kickass.unlockproject.online', diff --git a/couchpotato/core/media/movie/providers/automation/base.py b/couchpotato/core/media/movie/providers/automation/base.py index e606e7f..8282dd7 100644 --- a/couchpotato/core/media/movie/providers/automation/base.py +++ b/couchpotato/core/media/movie/providers/automation/base.py @@ -45,7 +45,7 @@ class Automation(AutomationBase): def search(self, name, year = None, imdb_only = False): - cache_name = name.decode('utf-8').encode('ascii', 'ignore') + cache_name = name.decode('utf-8', 'ignore').encode('ascii', 'ignore') prop_name = 'automation.cached.%s.%s' % (cache_name, year) cached_imdb = Env.prop(prop_name, default = False) if cached_imdb and imdb_only: diff --git a/couchpotato/core/media/movie/providers/torrent/iptorrents.py b/couchpotato/core/media/movie/providers/torrent/iptorrents.py index 68365b8..fd83a0a 100644 --- a/couchpotato/core/media/movie/providers/torrent/iptorrents.py +++ b/couchpotato/core/media/movie/providers/torrent/iptorrents.py @@ -11,12 +11,12 @@ class IPTorrents(MovieProvider, Base): cat_ids = [ ([87], ['3d']), - ([48], ['720p', '1080p']), ([89], ['bd50']), - ([96], ['cam', 'ts', 'tc', 'r5', 'scr']), - ([48, 20, 90], ['brrip']), + ([48], ['720p', '1080p']), + ([48, 20], ['brrip']), ([7, 77], ['dvdrip']), - ([6], ['dvdr']) + ([6], ['dvdr']), + ([96], ['cam', 'ts', 'tc', 'r5', 'scr']), ] def buildUrl(self, title, media, quality): diff --git a/couchpotato/core/media/movie/providers/torrent/passthepopcorn.py b/couchpotato/core/media/movie/providers/torrent/passthepopcorn.py index 2b577ad..5e92eef 100644 --- a/couchpotato/core/media/movie/providers/torrent/passthepopcorn.py +++ b/couchpotato/core/media/movie/providers/torrent/passthepopcorn.py @@ -10,6 +10,7 @@ autoload = 'PassThePopcorn' class PassThePopcorn(MovieProvider, Base): quality_search_params = { + '2160p': {'resolution': '4K'}, 'bd50': {'media': 'Blu-ray', 'format': 'BD50'}, '1080p': {'resolution': '1080p'}, '720p': {'resolution': '720p'}, @@ -24,6 +25,7 @@ class PassThePopcorn(MovieProvider, Base): } post_search_filters = { + '2160p': {'Resolution': ['4K']}, 'bd50': {'Codec': ['BD50']}, '1080p': {'Resolution': ['1080p']}, '720p': {'Resolution': ['720p']}, diff --git a/couchpotato/templates/login.html b/couchpotato/templates/login.html index ef9a8ec..63c7b59 100644 --- a/couchpotato/templates/login.html +++ b/couchpotato/templates/login.html @@ -25,7 +25,7 @@