From ff654aa894265a9c68163972d095898c5fe7f2ec Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 17 Nov 2014 14:43:17 +0800 Subject: [PATCH] Remove obsolete Animezb provider Animezb provider no longer exists --- CHANGES.md | 1 + gui/slick/images/providers/animezb.png | Bin 3894 -> 0 bytes sickbeard/__init__.py | 2 +- sickbeard/providers/__init__.py | 1 - sickbeard/providers/animezb.py | 155 ------------------------- 5 files changed, 2 insertions(+), 157 deletions(-) delete mode 100644 gui/slick/images/providers/animezb.png delete mode 100644 sickbeard/providers/animezb.py diff --git a/CHANGES.md b/CHANGES.md index 35e9c9f4..68bfe3c2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -14,6 +14,7 @@ * Remove unneeded datetime convert from Coming Episodes page * Fix the log output of the limited backlog search for episodes missed * Remove unsupported t411 provider +* Remove obsolete Animezb provider ### 0.3.0 (2014-11-12 14:30:00 UTC) diff --git a/gui/slick/images/providers/animezb.png b/gui/slick/images/providers/animezb.png deleted file mode 100644 index 59412e688f3d37d423195545827cbccb3bc31889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3894 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 -# 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 Animezb(generic.NZBProvider): - - def __init__(self): - - generic.NZBProvider.__init__(self, "Animezb") - - self.supportsBacklog = False - self.supportsAbsoluteNumbering = True - self.anime_only = True - - self.enabled = False - - self.cache = AnimezbCache(self) - - self.url = 'https://animezb.com/' - - def isEnabled(self): - return self.enabled - - def imageName(self): - return 'animezb.png' - - 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=''): - search_string = [] - for show_name in set(show_name_helpers.allPossibleShowNames(self.show)): - ep_string = '+'.join( - [helpers.sanitizeSceneName(show_name).replace('.', '+'), str(ep_obj.scene_absolute_number).zfill(2)]) - search_string.append(ep_string) - return search_string - - def _doSearch(self, search_string, 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 the " + 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 OR v3 OR v4 OR 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 AnimezbCache(tvcache.TVCache): - - def __init__(self, provider): - - tvcache.TVCache.__init__(self, provider) - - # only poll Animezb 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 = Animezb()