From e01d3330ce4b67bd82c3f53cb78df0498b404788 Mon Sep 17 00:00:00 2001 From: Luca <l.dimarino@gmail.com> Date: Thu, 9 May 2013 13:52:07 +0200 Subject: [PATCH] HTTP status code warnings for KAT IPT TL --- sickbeard/providers/iptorrents.py | 5 +++++ sickbeard/providers/kat.py | 24 ++++-------------------- sickbeard/providers/torrentleech.py | 5 +++++ 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/sickbeard/providers/iptorrents.py b/sickbeard/providers/iptorrents.py index 1a7298bff..60ad85403 100644 --- a/sickbeard/providers/iptorrents.py +++ b/sickbeard/providers/iptorrents.py @@ -26,6 +26,7 @@ from sickbeard import tvcache from sickbeard import show_name_helpers from sickbeard.common import Overview from sickbeard.exceptions import ex +from sickbeard import clients from lib import requests from bs4 import BeautifulSoup from lib.unidecode import unidecode @@ -225,6 +226,10 @@ class IPTorrentsProvider(generic.TorrentProvider): logger.log(u"Error loading " + self.name + " URL: " + ex(e), logger.ERROR) return None + if r.status_code != 200: + logger.log(self.name + u" page requested with url " + url +" returned status code is" + str(r.status_code) + ': ' + clients.http_error_code[r.status_code], logger.WARNING) + return None + return response.content class IPTorrentsCache(tvcache.TVCache): diff --git a/sickbeard/providers/kat.py b/sickbeard/providers/kat.py index 59e441879..0c521cb96 100644 --- a/sickbeard/providers/kat.py +++ b/sickbeard/providers/kat.py @@ -32,6 +32,7 @@ from sickbeard import helpers from sickbeard.show_name_helpers import allPossibleShowNames, sanitizeSceneName from sickbeard.exceptions import ex from sickbeard import encodingKludge as ek +from sickbeard import clients from lib import requests from bs4 import BeautifulSoup @@ -104,7 +105,7 @@ class KATProvider(generic.TorrentProvider): return None try: - soup = BeautifulSoup(data) + soup = BeautifulSoup(data, features=["html5lib", "permissive"]) file_table = soup.find('table', attrs = {'class': 'torrentFileList'}) if not file_table: @@ -283,12 +284,12 @@ class KATProvider(generic.TorrentProvider): try: r = requests.get(url) - except Exception, e: + except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError), e: logger.log(u"Error loading "+self.name+" URL: " + str(sys.exc_info()) + " - " + ex(e), logger.ERROR) return None if r.status_code != 200: - logger.log(u"KAT page requested " + url +" returned status code " + str(r.status_code), logger.DEBUG) + logger.log(self.name + u" page requested with url " + url +" returned status code is" + str(r.status_code) + ': ' + clients.http_error_code[r.status_code], logger.WARNING) return None return r.content @@ -327,23 +328,6 @@ class KATProvider(generic.TorrentProvider): logger.log(u"Saved magnet link to " + magnetFileName + " ", logger.MESSAGE) return True - def dumpHTML(self, data): - - import datetime - - fileName = 'KAT_' + datetime.datetime.now().strftime("%y%m%d_%H%M%S") + '.html' - dumpName = ek.ek(os.path.join, sickbeard.CACHE_DIR, fileName) - - try: - fileOut = open(dumpName, 'wb') - fileOut.write(data) - fileOut.close() - helpers.chmodAsParent(dumpName) - except IOError, e: - logger.log("Unable to save the file: " + ex(e), logger.ERROR) - return False - logger.log(u"Saved kat html dump " + dumpName, logger.MESSAGE) - return True class KATCache(tvcache.TVCache): diff --git a/sickbeard/providers/torrentleech.py b/sickbeard/providers/torrentleech.py index 759d37596..4637d3b60 100644 --- a/sickbeard/providers/torrentleech.py +++ b/sickbeard/providers/torrentleech.py @@ -26,6 +26,7 @@ from sickbeard import tvcache from sickbeard import show_name_helpers from sickbeard.common import Overview from sickbeard.exceptions import ex +from sickbeard import clients from lib import requests from bs4 import BeautifulSoup from lib.unidecode import unidecode @@ -219,6 +220,10 @@ class TorrentLeechProvider(generic.TorrentProvider): logger.log(u"Error loading "+self.name+" URL: " + ex(e), logger.ERROR) return None + if r.status_code != 200: + logger.log(self.name + u" page requested with url " + url +" returned status code is" + str(r.status_code) + ': ' + clients.http_error_code[r.status_code], logger.WARNING) + return None + return response.content class TorrentLeechCache(tvcache.TVCache): -- GitLab