diff --git a/CHANGES.md b/CHANGES.md index 7922003a..98d7f93b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -111,6 +111,7 @@ * Change FreshOnTv login parameter and use secure URLs, add logging of Cloudflare blocking and prevent vacant cookie tracebacks * Change TPB webproxy list and add SSL variants * Add YTV network logo +* Remove defunct Fanzub provider ### 0.6.4 (2015-02-10 20:20:00 UTC) diff --git a/gui/slick/images/providers/fanzub.gif b/gui/slick/images/providers/fanzub.gif deleted file mode 100644 index 1787676a..00000000 Binary files a/gui/slick/images/providers/fanzub.gif and /dev/null differ diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py index 8bc8344f..4fec4f21 100755 --- a/sickbeard/__init__.py +++ b/sickbeard/__init__.py @@ -35,7 +35,7 @@ sys.path.append(os.path.abspath('../lib')) from sickbeard import providers, metadata, config, webserveInit from sickbeard.providers.generic import GenericProvider from providers import ezrss, btn, newznab, womble, thepiratebay, torrentleech, kat, iptorrents, \ - omgwtfnzbs, scc, hdtorrents, torrentday, hdbits, nextgen, speedcd, nyaatorrents, fanzub, torrentbytes, \ + omgwtfnzbs, scc, hdtorrents, torrentday, hdbits, nextgen, speedcd, nyaatorrents, torrentbytes, \ freshontv, bitsoup, tokyotoshokan from sickbeard.config import CheckSection, check_setting_int, check_setting_str, check_setting_float, ConfigMigrator, \ naming_ep_type, minimax diff --git a/sickbeard/providers/__init__.py b/sickbeard/providers/__init__.py index a1c3e6e5..4324c019 100755 --- a/sickbeard/providers/__init__.py +++ b/sickbeard/providers/__init__.py @@ -31,7 +31,6 @@ __all__ = ['ezrss', 'nextgen', 'speedcd', 'nyaatorrents', - 'fanzub', 'torrentbytes', 'freshontv', 'bitsoup', diff --git a/sickbeard/providers/fanzub.py b/sickbeard/providers/fanzub.py deleted file mode 100644 index 0b818200..00000000 --- a/sickbeard/providers/fanzub.py +++ /dev/null @@ -1,150 +0,0 @@ -# Author: Nic Wolfe -# URL: http://code.google.com/p/sickbeard/ -# -# This file is part of Sick Beard. -# -# Sick Beard is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Sick Beard is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Sick Beard. If not, see . - -import urllib -import datetime - -import sickbeard -import generic - -from sickbeard import classes, show_name_helpers, helpers - -from sickbeard import exceptions, logger -from sickbeard.common import * -from sickbeard import tvcache -from lib.dateutil.parser import parse as parseDate - - -class Fanzub(generic.NZBProvider): - - def __init__(self): - - generic.NZBProvider.__init__(self, "Fanzub") - - self.supportsBacklog = False - self.supportsAbsoluteNumbering = True - self.anime_only = True - - self.enabled = False - - self.cache = FanzubCache(self) - - self.url = 'https://fanzub.com/' - - def isEnabled(self): - return self.enabled - - def imageName(self): - return 'fanzub.gif' - - def _get_season_search_strings(self, ep_obj): - return [x for x in show_name_helpers.makeSceneSeasonSearchString(self.show, ep_obj)] - - def _get_episode_search_strings(self, ep_obj, add_string=''): - return [x for x in show_name_helpers.makeSceneSearchString(self.show, ep_obj)] - - def _doSearch(self, search_string, search_mode='eponly', epcount=0, age=0): - if self.show and not self.show.is_anime: - logger.log(u"" + str(self.show.name) + " is not an anime skiping ...") - return [] - - params = { - "cat": "anime", - "q": search_string.encode('utf-8'), - "max": "100" - } - - search_url = self.url + "rss?" + urllib.urlencode(params) - - logger.log(u"Search url: " + search_url, logger.DEBUG) - - data = self.cache.getRSSFeed(search_url) - if not data: - return [] - - if 'entries' in data: - - items = data.entries - results = [] - - for curItem in items: - (title, url) = self._get_title_and_url(curItem) - - if title and url: - results.append(curItem) - else: - logger.log( - u"The data returned from " + self.name + " is incomplete, this result is unusable", - logger.DEBUG) - - return results - - return [] - - def findPropers(self, date=None): - - results = [] - - for item in self._doSearch("v2|v3|v4|v5"): - - (title, url) = self._get_title_and_url(item) - - if item.has_key('published_parsed') and item['published_parsed']: - result_date = item.published_parsed - if result_date: - result_date = datetime.datetime(*result_date[0:6]) - else: - logger.log(u"Unable to figure out the date for entry " + title + ", skipping it") - continue - - if not date or result_date > date: - search_result = classes.Proper(title, url, result_date, self.show) - results.append(search_result) - - return results - - -class FanzubCache(tvcache.TVCache): - - def __init__(self, provider): - - tvcache.TVCache.__init__(self, provider) - - # only poll Fanzub every 20 minutes max - self.minTime = 20 - - def _getRSSData(self): - - params = { - "cat": "anime".encode('utf-8'), - "max": "100".encode('utf-8') - } - - rss_url = self.provider.url + 'rss?' + urllib.urlencode(params) - - logger.log(self.provider.name + u" cache update URL: " + rss_url, logger.DEBUG) - - data = self.getRSSFeed(rss_url) - - if data and 'entries' in data: - return data.entries - else: - return [] - - -provider = Fanzub()