From 9b834f62a9e20eaf52c206ed4ba6996f8602e602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joel=20K=C3=A5berg?= Date: Thu, 5 Dec 2013 16:55:34 +0100 Subject: [PATCH] updated Torrentleech for tv branch --- .../core/providers/torrent/torrentleech/main.py | 54 ++++++++++++++++------ 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/couchpotato/core/providers/torrent/torrentleech/main.py b/couchpotato/core/providers/torrent/torrentleech/main.py index 93b10ee..a567fbd 100644 --- a/couchpotato/core/providers/torrent/torrentleech/main.py +++ b/couchpotato/core/providers/torrent/torrentleech/main.py @@ -2,14 +2,19 @@ from bs4 import BeautifulSoup from couchpotato.core.helpers.encoding import tryUrlencode from couchpotato.core.helpers.variable import tryInt from couchpotato.core.logger import CPLog +from couchpotato.core.providers.base import MultiProvider +from couchpotato.core.providers.info.base import MovieProvider, SeasonProvider, EpisodeProvider from couchpotato.core.providers.torrent.base import TorrentProvider import traceback - log = CPLog(__name__) +class TorrentLeech(MultiProvider): + + def getTypes(self): + return [Movie, Season, Episode] -class TorrentLeech(TorrentProvider): +class Base(TorrentProvider): urls = { 'test' : 'http://www.torrentleech.org/', @@ -20,22 +25,18 @@ class TorrentLeech(TorrentProvider): 'download' : 'http://www.torrentleech.org%s', } - cat_ids = [ - ([13], ['720p', '1080p']), - ([8], ['cam']), - ([9], ['ts', 'tc']), - ([10], ['r5', 'scr']), - ([11], ['dvdrip']), - ([14], ['brrip']), - ([12], ['dvdr']), - ] - http_time_between_calls = 1 #seconds cat_backup_id = None - def _searchOnTitle(self, title, movie, quality, results): + def _searchOnTitle(self, title, media, quality, results): + + if media['type'] in 'movie': + year = media['library']['year'] + else: + year = '' + + url = self.urls['search'] % (tryUrlencode('%s %s' % (title.replace(':', ''), year)), self.getCatId(quality['identifier'])[0]) - url = self.urls['search'] % (tryUrlencode('%s %s' % (title.replace(':', ''), movie['library']['year'])), self.getCatId(quality['identifier'])[0]) data = self.getHTMLData(url, opener = self.login_opener) if data: @@ -79,3 +80,28 @@ class TorrentLeech(TorrentProvider): return '/user/account/logout' in output.lower() or 'welcome back' in output.lower() loginCheckSuccess = loginSuccess + +class Movie(MovieProvider, Base): + + cat_ids = [ + ([13], ['720p', '1080p']), + ([8], ['cam']), + ([9], ['ts', 'tc']), + ([10], ['r5', 'scr']), + ([11], ['dvdrip']), + ([14], ['brrip']), + ([12], ['dvdr']), + ] + +class Season(SeasonProvider, Base): + + cat_ids = [ + ([27], ['hdtv_sd', 'hdtv_720p', 'webdl_720p', 'webdl_1080p']), + ] + +class Episode(EpisodeProvider, Base): + + cat_ids = [ + ([32], ['hdtv_720p', 'webdl_720p', 'webdl_1080p']), + ([26], ['hdtv_sd']) + ]