Private GIT

Skip to content
Snippets Groups Projects
Commit 6f9b17af authored by miigotu's avatar miigotu
Browse files
parent 9338c8c7
No related branches found
No related tags found
No related merge requests found
...@@ -18,10 +18,10 @@ ...@@ -18,10 +18,10 @@
# along with Sick Beard. If not, see <http://www.gnu.org/licenses/>. # along with Sick Beard. If not, see <http://www.gnu.org/licenses/>.
import traceback import traceback
import re
from sickbeard import logger from sickbeard import logger
from sickbeard import tvcache from sickbeard import tvcache
from sickrage.helper.common import try_int
from sickbeard.bs4_parser import BS4Parser from sickbeard.bs4_parser import BS4Parser
from sickrage.providers.torrent.TorrentProvider import TorrentProvider from sickrage.providers.torrent.TorrentProvider import TorrentProvider
...@@ -42,7 +42,7 @@ class CpasbienProvider(TorrentProvider): ...@@ -42,7 +42,7 @@ class CpasbienProvider(TorrentProvider):
self.cache = CpasbienCache(self) self.cache = CpasbienCache(self)
def search(self, search_params, age=0, ep_obj=None): def search(self, search_params, age=0, ep_obj=None): # pylint: disable=too-many-locals, too-many-statements, too-many-branches
results = [] results = []
items = {'Season': [], 'Episode': [], 'RSS': []} items = {'Season': [], 'Episode': [], 'RSS': []}
...@@ -53,10 +53,9 @@ class CpasbienProvider(TorrentProvider): ...@@ -53,10 +53,9 @@ class CpasbienProvider(TorrentProvider):
if mode != 'RSS': if mode != 'RSS':
logger.log(u"Search string: %s " % search_string, logger.DEBUG) logger.log(u"Search string: %s " % search_string, logger.DEBUG)
if mode != 'RSS': searchURL = self.url + '/recherche/' + search_string.replace('.', '-').replace(' ', '-') + '.html'
searchURL = self.url + '/recherche/' + search_string.replace('.', '-') + '.html'
else: else:
searchURL = self.url + '/view_cat.php?categorie=series' searchURL = self.url + '/view_cat.php?categorie=series&trie=date-d'
logger.log(u"Search URL: %s" % searchURL, logger.DEBUG) logger.log(u"Search URL: %s" % searchURL, logger.DEBUG)
data = self.get_url(searchURL) data = self.get_url(searchURL)
...@@ -66,35 +65,25 @@ class CpasbienProvider(TorrentProvider): ...@@ -66,35 +65,25 @@ class CpasbienProvider(TorrentProvider):
try: try:
with BS4Parser(data, 'html5lib') as html: with BS4Parser(data, 'html5lib') as html:
lin = erlin = 0 line = 0
resultdiv = [] torrents = []
while erlin == 0: while True:
try: resultlin = html.findAll(class_='ligne%i' % line)
classlin = 'ligne' + str(lin) if not resultlin:
resultlin = html.findAll(attrs={'class': [classlin]}) break
if resultlin:
for ele in resultlin: torrents += resultlin
resultdiv.append(ele) line += 1
lin += 1
else:
erlin = 1
except Exception:
erlin = 1
for torrent in resultdiv: for torrent in torrents:
try: try:
title = torrent.findAll(attrs={'class': ["titre"]})[0].text.replace("HDTV", "HDTV x264-CPasBien") title = torrent.find(class_="titre").get_text(strip=True).replace("HDTV", "HDTV x264-CPasBien")
detail_url = torrent.find("a")['href'] tmp = torrent.find("a")['href'].split('/')[-1].replace('.html', '.torrent').strip()
tmp = detail_url.split('/')[-1].replace('.html', '.torrent')
download_url = (self.url + '/telechargement/%s' % tmp) download_url = (self.url + '/telechargement/%s' % tmp)
torrent_size = (str(torrent.findAll(attrs={'class': ["poid"]})[0].text).rstrip('&nbsp;')).rstrip() size = self._convertSize(torrent.find(class_="poid").get_text(strip=True))
size = -1 seeders = try_int(torrent.find(class_="up").get_text(strip=True))
if re.match(r"\d+([,\.]\d+)?\s*[KkMmGgTt]?[Oo]", torrent_size): leechers = try_int(torrent.find(class_="down").get_text(strip=True))
size = self._convertSize(torrent_size.rstrip()) except (AttributeError, TypeError, KeyError, IndexError):
seeders = torrent.findAll(attrs={'class': ["seed_ok"]})[0].text
leechers = torrent.findAll(attrs={'class': ["down"]})[0].text
except (AttributeError, TypeError):
continue continue
if not all([title, download_url]): if not all([title, download_url]):
...@@ -125,7 +114,8 @@ class CpasbienProvider(TorrentProvider): ...@@ -125,7 +114,8 @@ class CpasbienProvider(TorrentProvider):
def seed_ratio(self): def seed_ratio(self):
return self.ratio return self.ratio
def _convertSize(self, sizeString): @staticmethod
def _convertSize(sizeString):
size = sizeString[:-2].strip() size = sizeString[:-2].strip()
modifier = sizeString[-2:].upper() modifier = sizeString[-2:].upper()
try: try:
...@@ -138,8 +128,11 @@ class CpasbienProvider(TorrentProvider): ...@@ -138,8 +128,11 @@ class CpasbienProvider(TorrentProvider):
size *= 1024 ** 3 size *= 1024 ** 3
elif modifier in 'TO': elif modifier in 'TO':
size *= 1024 ** 4 size *= 1024 ** 4
else:
raise
except Exception: except Exception:
size = -1 size = -1
return long(size) return long(size)
......
...@@ -38,7 +38,7 @@ from sickbeard.common import Quality ...@@ -38,7 +38,7 @@ from sickbeard.common import Quality
from sickrage.helper.encoding import ek, ss from sickrage.helper.encoding import ek, ss
from sickrage.show.Show import Show from sickrage.show.Show import Show
from sickrage.helper.common import try_int from sickrage.helper.common import try_int
from sickbeard.common import USER_AGENT # from sickbeard.common import USER_AGENT
from sickrage.providers.nzb.NZBProvider import NZBProvider from sickrage.providers.nzb.NZBProvider import NZBProvider
...@@ -53,7 +53,7 @@ class NewznabProvider(NZBProvider): ...@@ -53,7 +53,7 @@ class NewznabProvider(NZBProvider):
NZBProvider.__init__(self, name) NZBProvider.__init__(self, name)
self.headers.update({'User-Agent': USER_AGENT}) # self.headers.update({'User-Agent': USER_AGENT})
self.urls = {'base_url': url} self.urls = {'base_url': url}
self.url = self.urls['base_url'] self.url = self.urls['base_url']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment