diff --git a/gui/slick/interfaces/default/config_general.tmpl b/gui/slick/interfaces/default/config_general.tmpl index 6dae76e2..06e0eb81 100644 --- a/gui/slick/interfaces/default/config_general.tmpl +++ b/gui/slick/interfaces/default/config_general.tmpl @@ -28,7 +28,6 @@ -
@@ -178,26 +177,9 @@ #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_rootDirs.tmpl")
- -
- - -
- -
- -
- -
-
- +
diff --git a/gui/slick/interfaces/default/inc_imdbWatchlists.tmpl b/gui/slick/interfaces/default/inc_imdbWatchlists.tmpl deleted file mode 100644 index 8d328b00..00000000 --- a/gui/slick/interfaces/default/inc_imdbWatchlists.tmpl +++ /dev/null @@ -1,33 +0,0 @@ -#import sickbeard - - -#if $sickbeard.IMDB_WATCHLISTCSV: -#set $backend_pieces = $sickbeard.IMDB_WATCHLISTCSV.split('|') -#else: -#set $backend_pieces = [] -#end if - - -
- -
-
- - - - -
- - -
- -
- - -
diff --git a/gui/slick/js/imdbWatchlist.js b/gui/slick/js/imdbWatchlist.js deleted file mode 100644 index ce33d8e0..00000000 --- a/gui/slick/js/imdbWatchlist.js +++ /dev/null @@ -1,170 +0,0 @@ -// Avoid `console` errors in browsers that lack a console. -(function() { - var method; - var noop = function noop() {}; - var methods = [ - 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', - 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', - 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', - 'timeStamp', 'trace', 'warn' - ]; - var length = methods.length; - var console = (window.console = window.console || {}); - - while (length--) { - method = methods[length]; - - // Only stub undefined methods. - if (!console[method]) { - console[method] = noop; - } - } -}()); - -$(document).ready(function() { - - function addImdbWl(path) { - - if (!path.length) - return; - - $('#imdbWl').append(''); - refreshImdbUrls(); - $.get(sbRoot+'/config/general/saveImdbWatchlists', { imdbWatchlistString: $('#ImdbWlText').val() }); - } - - function editImdbWl(path) { - - if (!path.length) - return; - - // as long as something is selected - if ($("#imdbWl option:selected").length) { - - $("#imdbWl option:selected").text(path); - $("#imdbWl option:selected").val(path); - } - - refreshImdbUrls(); - $.get(sbRoot+'/config/general/saveRootDirs', {rootDirString: $('#ImdbWlText').val()}); - } - - $('#addImdbWl').click(function(){editText()}); - $('#editImdbWl').click(function(){editText({selectedWl: $("#imdbWl option:selected").val()})}); - - $('#deleteImdbWl').click(function() { - if ($("#imdbWl option:selected").length) { - - var toDelete = $("#imdbWl option:selected"); - - toDelete.remove(); - syncOptionIDs(); - - }; - - refreshImdbUrls(); - $.get(sbRoot+'/config/general/saveImdbWatchlists', {imdbWatchlistString: $('#ImdbWlText').val()}); - }); - - function syncOptionIDs() { - // re-sync option ids - var i = 0; - $('#imdbWl option').each(function() { - $(this).attr('id', 'wl-'+(i++)); - }); - } - - function refreshImdbUrls() { - // Rebuild the string in #ImdbWlText as url|url|url - - if (!$("#imdbWl").length) - return; - - var do_disable = 'true'; - - // if something's selected then we have some behavior to figure out - if ($("#imdbWl option:selected").length) { - do_disable = ''; - } - - // update the elements - $('#deleteImdbWl').prop('disabled', do_disable); - $('#editImdbWl').prop('disabled', do_disable); - - var log_str = ''; - var dir_text = ''; - - $('#imdbWl option').each(function() { - log_str += $(this).val(); - //Check if this is a valid IMDB link before adding it - - if (checkIMDBUrl(log_str)) { - if (dir_text == '') { - dir_text = $(this).val() - } - else { - dir_text += '|' + $(this).val(); - } - } - }); - - //console.log(log_str); - - $('#ImdbWlText').val(dir_text); - $('#ImdbWlText').change(); - //console.log('ImdbWlText: '+$('#ImdbWlText').val()); - } - - function checkIMDBUrl(url) { - if (url.match(/http.*:\/\/www\.imdb\.com\/.*/gi) && - url.match(/ls[0-9]+/gi) && - url.match(/ur[0-9]+/gi)) { - return true; - } - else { - alert(url + ' is not a valid IMDB csv export!'); - return false; - }; - }; - - $('#imdbWl').click(refreshImdbUrls); - - // set up buttons on page load - refreshImdbUrls(); - - function editText(optionid) { - var updateVal = ""; - if (optionid) { - updateVal = 'update-' + optionid.selectedWl; - $('#editImdbWlText').val(optionid.selectedWl); - } - else { - updateVal = 'add'; - $('#editImdbWlText').val(""); - } - $('#updateImdbWl').attr('action', updateVal); - $('#editImdbWlText').attr('style','display: block; width: 583px; margin-top: 4px; margin-bottom: 4px;'); - $('#imdbWl').prop('disabled', 'true'); - $('#updateImdbWl').attr('style','display: block;'); - $('#editImdbWlText').select(); - } - - $('#updateImdbWl').click(function(){ - // Update the Multiselect after clicking on the Update button - var updateText = $('#editImdbWlText').val(); - if (checkIMDBUrl(updateText)) { - if ($('#updateImdbWl').attr('action') == 'add') { - addImdbWl(updateText); - } - else { - editImdbWl(updateText); - }; - }; - - - $('#editImdbWlText').attr('style','display: none; width: 100%'); - $('#imdbWl').prop('disabled', ''); - $('#updateImdbWl').attr('style','display: none;'); - }); - -}); \ No newline at end of file diff --git a/lib/tvdb_api/tvdb_api.py b/lib/tvdb_api/tvdb_api.py index ac03cc5f..6b64c82d 100644 --- a/lib/tvdb_api/tvdb_api.py +++ b/lib/tvdb_api/tvdb_api.py @@ -522,14 +522,10 @@ class Tvdb: if self.config['search_all_languages']: self.config['url_getSeries'] = u"%(base_url)s/api/GetSeries.php" % self.config - self.config['url_getSeriesImdb'] = u"%(base_url)s/api/GetSeriesByRemoteID.php" % self.config self.config['params_getSeries'] = {"seriesname": "", "language": "all"} - self.config['params_getSeriesByImdb'] = {"imdbid": "", "language": "all"} else: self.config['url_getSeries'] = u"%(base_url)s/api/GetSeries.php" % self.config - self.config['url_getSeriesImdb'] = u"%(base_url)s/api/GetSeriesByRemoteID.php" % self.config self.config['params_getSeries'] = {"seriesname": "", "language": self.config['language']} - self.config['params_getSeriesByImdb'] = {"imdbid": "", "language": self.config['language']} self.config['url_epInfo'] = u"%(base_url)s/api/%(apikey)s/series/%%s/all/%%s.xml" % self.config self.config['url_epInfo_zip'] = u"%(base_url)s/api/%(apikey)s/series/%%s/all/%%s.zip" % self.config @@ -678,20 +674,16 @@ class Tvdb: data = data.strip() return data - def search(self, series, imdbid=None): + def search(self, series): """This searches TheTVDB.com for the series name and returns the result list """ series = series.encode("utf-8") log().debug("Searching for show %s" % series) self.config['params_getSeries']['seriesname'] = series - self.config['params_getSeriesByImdb']['imdbid'] = imdbid try: - if imdbid: - seriesFound = self._getetsrc(self.config['url_getSeriesImdb'], self.config['params_getSeriesByImdb']).values()[0] - else: - seriesFound = self._getetsrc(self.config['url_getSeries'], self.config['params_getSeries']).values()[0] + seriesFound = self._getetsrc(self.config['url_getSeries'], self.config['params_getSeries']).values()[0] return seriesFound except: return [] diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py index bc342899..ce4da832 100755 --- a/sickbeard/__init__.py +++ b/sickbeard/__init__.py @@ -39,7 +39,6 @@ from sickbeard.config import CheckSection, check_setting_int, check_setting_str, naming_ep_type from sickbeard import searchBacklog, showUpdater, versionChecker, properFinder, autoPostProcesser, \ subtitles, traktChecker -from sickbeard.automations import imdbChecker from sickbeard import helpers, db, exceptions, show_queue, search_queue, scheduler, show_name_helpers from sickbeard import logger from sickbeard import naming @@ -469,7 +468,6 @@ def initialize(consoleLogging=True): USE_XBMC, XBMC_ALWAYS_ON, XBMC_NOTIFY_ONSNATCH, XBMC_NOTIFY_ONDOWNLOAD, XBMC_NOTIFY_ONSUBTITLEDOWNLOAD, XBMC_UPDATE_FULL, XBMC_UPDATE_ONLYFIRST, \ XBMC_UPDATE_LIBRARY, XBMC_HOST, XBMC_USERNAME, XBMC_PASSWORD, BACKLOG_FREQUENCY, \ USE_TRAKT, TRAKT_USERNAME, TRAKT_PASSWORD, TRAKT_API, TRAKT_REMOVE_WATCHLIST, TRAKT_USE_WATCHLIST, TRAKT_METHOD_ADD, TRAKT_START_PAUSED, traktCheckerScheduler, TRAKT_USE_RECOMMENDED, TRAKT_SYNC, TRAKT_DEFAULT_INDEXER, TRAKT_REMOVE_SERIESLIST, \ - USE_IMDBWATCHLIST, IMDB_WATCHLISTCSV, imdbWatchlistScheduler, \ USE_PLEX, PLEX_NOTIFY_ONSNATCH, PLEX_NOTIFY_ONDOWNLOAD, PLEX_NOTIFY_ONSUBTITLEDOWNLOAD, PLEX_UPDATE_LIBRARY, \ PLEX_SERVER_HOST, PLEX_HOST, PLEX_USERNAME, PLEX_PASSWORD, DEFAULT_BACKLOG_FREQUENCY, MIN_BACKLOG_FREQUENCY, BACKLOG_STARTUP, SKIP_REMOVED_FILES, \ showUpdateScheduler, __INITIALIZED__, LAUNCH_BROWSER, UPDATE_SHOWS_ON_START, SORT_ARTICLE, showList, loadingShowList, \ @@ -528,7 +526,6 @@ def initialize(consoleLogging=True): CheckSection(CFG, 'Pushalot') CheckSection(CFG, 'Pushbullet') CheckSection(CFG, 'Subtitles') - CheckSection(CFG, 'IMDBWatchlist') # wanted branch BRANCH = check_setting_str(CFG, 'General', 'branch', '') @@ -580,7 +577,7 @@ def initialize(consoleLogging=True): if WEB_PORT < 21 or WEB_PORT > 65535: WEB_PORT = 8081 - + WEB_HOST = check_setting_str(CFG, 'General', 'web_host', '0.0.0.0') WEB_IPV6 = bool(check_setting_int(CFG, 'General', 'web_ipv6', 0)) WEB_ROOT = check_setting_str(CFG, 'General', 'web_root', '').rstrip("/") @@ -843,11 +840,7 @@ def initialize(consoleLogging=True): TRAKT_USE_RECOMMENDED = bool(check_setting_int(CFG, 'Trakt', 'trakt_use_recommended', 0)) TRAKT_SYNC = bool(check_setting_int(CFG, 'Trakt', 'trakt_sync', 0)) TRAKT_DEFAULT_INDEXER = check_setting_int(CFG, 'Trakt', 'trakt_default_indexer', 1) - - ### IMDB Watchlist set default values for config - USE_IMDBWATCHLIST = bool(check_setting_int(CFG, 'IMDBWatchlist', 'use_imdbwatchlist', 0)) - IMDB_WATCHLISTCSV = check_setting_str(CFG, 'IMDBWatchlist', 'imdb_watchlistcsv', '') - + CheckSection(CFG, 'pyTivo') USE_PYTIVO = bool(check_setting_int(CFG, 'pyTivo', 'use_pytivo', 0)) PYTIVO_NOTIFY_ONSNATCH = bool(check_setting_int(CFG, 'pyTivo', 'pytivo_notify_onsnatch', 0)) @@ -1161,11 +1154,6 @@ def initialize(consoleLogging=True): cycleTime=datetime.timedelta(hours=SUBTITLES_FINDER_FREQUENCY), threadName="FINDSUBTITLES", silent=not USE_SUBTITLES) - - imdbWatchlistScheduler = scheduler.Scheduler(imdbChecker.IMDB(), - cycleTime=datetime.timedelta(hours=1), - threadName="IMDBWATCHLIST", - silent=not USE_IMDBWATCHLIST) showList = [] loadingShowList = {} @@ -1178,7 +1166,7 @@ def start(): global __INITIALIZED__, backlogSearchScheduler, \ showUpdateScheduler, versionCheckScheduler, showQueueScheduler, \ properFinderScheduler, autoPostProcesserScheduler, searchQueueScheduler, \ - subtitlesFinderScheduler, USE_SUBTITLES, traktCheckerScheduler, imdbWatchlistScheduler, \ + subtitlesFinderScheduler, USE_SUBTITLES, traktCheckerScheduler, \ dailySearchScheduler, events, started with INIT_LOCK: @@ -1219,10 +1207,7 @@ def start(): # start the trakt checker if USE_TRAKT: traktCheckerScheduler.start() - - if USE_IMDBWATCHLIST: - imdbWatchlistScheduler.start() - + started = True @@ -1230,7 +1215,7 @@ def halt(): global __INITIALIZED__, backlogSearchScheduler, \ showUpdateScheduler, versionCheckScheduler, showQueueScheduler, \ properFinderScheduler, autoPostProcesserScheduler, searchQueueScheduler, \ - subtitlesFinderScheduler, traktCheckerScheduler, imdbWatchlistScheduler, \ + subtitlesFinderScheduler, traktCheckerScheduler, \ dailySearchScheduler, events, started with INIT_LOCK: @@ -1303,14 +1288,6 @@ def halt(): traktCheckerScheduler.join(10) except: pass - - if USE_IMDBWATCHLIST: - imdbWatchlistScheduler.stop.set() - logger.log(u"Waiting for the IMDBWATCHLIST thread to exit") - try: - imdbWatchlistScheduler.join(10) - except: - pass if DOWNLOAD_PROPERS: properFinderScheduler.stop.set() @@ -1712,11 +1689,7 @@ def save_config(): new_config['Trakt']['trakt_use_recommended'] = int(TRAKT_USE_RECOMMENDED) new_config['Trakt']['trakt_sync'] = int(TRAKT_SYNC) new_config['Trakt']['trakt_default_indexer'] = int(TRAKT_DEFAULT_INDEXER) - - new_config['IMDBWatchlist'] = {} - new_config['IMDBWatchlist']['use_imdbwatchlist'] = int(USE_IMDBWATCHLIST) - new_config['IMDBWatchlist']['imdb_watchlistcsv'] = IMDB_WATCHLISTCSV - + new_config['pyTivo'] = {} new_config['pyTivo']['use_pytivo'] = int(USE_PYTIVO) new_config['pyTivo']['pytivo_notify_onsnatch'] = int(PYTIVO_NOTIFY_ONSNATCH) diff --git a/sickbeard/automations/__init__.py b/sickbeard/automations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/sickbeard/automations/imdbChecker.py b/sickbeard/automations/imdbChecker.py deleted file mode 100644 index 27820452..00000000 --- a/sickbeard/automations/imdbChecker.py +++ /dev/null @@ -1,230 +0,0 @@ -# Author: KontiSR -# URL: https://github.com/echel0n/SickRage -# -# This file is part of SickRage. -# -# SickRage 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. -# -# SickRage 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 SickRage. If not, see . - -import urllib2, urllib -import shutil -import urlparse -import os, datetime -import requests -import cookielib -import re -from urllib2 import HTTPError, URLError - -import sickbeard -from sickbeard import encodingKludge as ek -from sickbeard import logger -from sickbeard import helpers -from sickbeard import search_queue -from sickbeard.common import SKIPPED, WANTED -from lib.tvdb_api.tvdb_api import * - -class ImdbBase(): - def _download(self, baseurl, querystring=""): - fullurl = baseurl + urllib.urlencode(querystring) - - req = urllib2.Request(fullurl) - try: - response = urllib2.urlopen(req) - except HTTPError as e: - logger.log('Could not download IMDB watchlist', logger.DEBUG) - #print 'Error code: ', e.code - return False - except URLError as e: - logger.log('Could not download IMDB watchlist', logger.DEBUG) - #print 'Reason: ', e.reason - return False - - redirurl = response.geturl() - htmlResponse = response.read() - - validHtml = True#BeautifulSoup(htmlResponse, 'html.parser') - if validHtml: - return htmlResponse - - return False - - -class IMDB(ImdbBase): - listOfImdbIds = [] - def __init__(self): - self.listOfImdbIds = [] - - def run(self, force=False): - try: - # add shows from trakt.tv watchlist - if sickbeard.USE_IMDBWATCHLIST: - self.listOfImdbIds = [] # its about to all get re-added - self.checkWatchlist() # Check the | separated watchlists (csv) urls - if len(self.listOfImdbIds): - self.updateShowsInDb() # Update the db with possible new shows - - except Exception: - logger.log(traceback.format_exc(), logger.DEBUG) - - def _getTTs(self, html): - nrAddedTTs = 0 - ### Get the tt's (shows) from the ajax html. E.a. [ tt1958961|imdb|8.1|8.1|list, tt1958961|imdb|8.1|8.1|list ] - if not html: - return False - - parsedshows = re.findall("(tt[0-9]+)\\|imdb\\|([.0-9]+)", html) - if not parsedshows: - return False - - for show in parsedshows: - if show[0] not in [x['imdbid'] for x in self.listOfImdbIds]: - self.listOfImdbIds.append({"imdbid" : show[0], "score" : show[1]}) - nrAddedTTs += 1 - - if nrAddedTTs > 0: - return nrAddedTTs - - return False - - def checkWatchlist(self): - - ### Get imdbListId from the csv url's - AjaxUrls = self._getImdbAjaxUrls(sickbeard.IMDB_WATCHLISTCSV) - - ### Get imdbUserId from the csv url's - for url in AjaxUrls: - getImdbHtml = self._download(url) - nrAdded = self._getTTs(getImdbHtml) - - if self.listOfImdbIds: - return self.listOfImdbIds - - return False - - ''' - Tries to use the csvUrls as a comma separated list of imdb csv urls, - to retrieve a userid and listid for each of the csv url. - For each csv url an Ajax url is created. Thats used to get the list of Tvshows. - ''' - def _getImdbAjaxUrls(self, csvUrls): - ajaxUrls = [] - ajaxUrlBase = u"http://www.imdb.com/list/_ajax/list_filter?" - - reUserId = re.compile(".*(ur[0-9]+)") - reListId = re.compile(".*(ls[0-9]+)") - - #if "|" in csvUrls: - #print "Multiple Watchlists detected" - csvurl = csvUrls.split("|") - for url in csvurl: - userIdMatch = reUserId.match(url) - listIdMatch = reListId.match(url) - - if userIdMatch and listIdMatch: - query = {"list_id" : listIdMatch.groups()[0], - "list_class" : "WATCHLIST", - "view" : "compact", - "list_type" : "Titles", - "filter" : '{"title_type":["tv_series"]}', - "sort_field" : "created", - "sort_direction" : "desc", - "user_id" : userIdMatch.groups()[0] } - ajaxUrls.append(ajaxUrlBase + urllib.urlencode(query)) - if ajaxUrls: - return ajaxUrls - - return False - - def updateShowsInDb(self): - nrOfaddedShows = 0 - # Get list with thetvdb and imdbIds from DB (tt1234324) - - - # Get thetvdb indexer_id, showname from tvdb using the IMDB id. ttxxxxx - # Use "[{listOfImdbIds}]" for updating the db, if the show isn't in it - tvdb_instance = Tvdb(cache = True, useZip = True) - for watchlistShow in self.listOfImdbIds: - if watchlistShow['imdbid'] not in [x.imdbid for x in sickbeard.showList ]: - TvdbShow = tvdb_instance.search('',imdbid=watchlistShow['imdbid']) - if TvdbShow: - self._addDefaultShow(1, TvdbShow['id'], TvdbShow['seriesname'], False) - nrOfaddedShows += 1 - - return nrOfaddedShows if nrOfaddedShows > 0 else False - - return False - - - def _addDefaultShow(self, indexer, indexer_id, name, status): - """ - Adds a new show with the default settings - """ - if not helpers.findCertainShow(sickbeard.showList, int(indexer_id)): - logger.log(u"Adding show " + str(indexer_id)) - root_dirs = sickbeard.ROOT_DIRS.split('|') - - try: - location = root_dirs[int(root_dirs[0]) + 1] - except: - location = None - - if location: - showPath = ek.ek(os.path.join, location, helpers.sanitizeFileName(name)) - dir_exists = helpers.makeDir(showPath) - if not dir_exists: - logger.log(u"Unable to create the folder " + showPath + ", can't add the show", logger.ERROR) - return - else: - helpers.chmodAsParent(showPath) - - sickbeard.showQueueScheduler.action.addShow(int(indexer), int(indexer_id), showPath, status, - int(sickbeard.QUALITY_DEFAULT), - int(sickbeard.FLATTEN_FOLDERS_DEFAULT), - paused=False, anime = False) - else: - logger.log(u"There was an error creating the show, no root directory setting found", logger.ERROR) - return - -# imdbWatchlistTv = "http://www.imdb.com/user/%s/watchlist?ref_=wl_ref_typ&sort=list_order,asc&mode=simple&page=%s&title_type=tvSeries" -# imdbWatchlistTv2 = "http://www.imdb.com/list/export?list_id=ls009966268&author_id=ur35235230&ref_=wl_exp" -# imdbUserId = "ur5968686" -# imdbListId = "ls005547625" -# imdbWlPage = "1" -# ajaxUrlBase = u"http://www.imdb.com/list/_ajax/list_filter?" -# ajaxUrlQueryString = u"list_id=%s&list_class=WATCHLIST&view=compact&list_type=Titles&filter={\"title_type\":[\"tv_series\"]}&sort_field=created&sort_direction=desc&user_id=%s" % (imdbListId, imdbUserId) -# -# query = {"list_id" : imdbListId, -# "list_class" : "WATCHLIST", -# "view" : "compact", -# "list_type" : "Titles", -# "filter" : '{"title_type":["tv_series"]}', -# "sort_field" : "created", -# "sort_direction" : "desc", -# "user_id" : imdbUserId } -# -# imdbwatchlistcsv = "http://www.imdb.com/list/export?list_id=ls005547625&author_id=ur5968686&ref_=wl_exp" -# imdbWatchListTvFullURL = ajaxUrlBase + urllib.urlencode(query) -# # /download("%s%s" % (baseurl, searchurl), "test.csv") -# -# IMDBobj = IMDB() -# -# #Test one csv -# imdbIds = IMDBobj.checkWatchlist(imdbwatchlistcsv) -# print IMDBobj.listOfImdbIds -# -# # Test two csv's -# imdbIds = IMDBobj.checkWatchlist(imdbwatchlistcsv + "|" + imdbWatchlistTv2) -# print IMDBobj.listOfImdbIds -# -# print imdbIds - diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index ded4aaf6..cc3c4cbf 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -1444,9 +1444,7 @@ class ConfigGeneral(MainHandler): def saveRootDirs(self, rootDirString=None): sickbeard.ROOT_DIRS = rootDirString - - def saveImdbWatchlists(self, imdbWatchlistString=None): - sickbeard.IMDB_WATCHLISTCSV = imdbWatchlistString + def saveAddShowDefaults(self, defaultStatus, anyQualities, bestQualities, defaultFlattenFolders, subtitles=False, anime=False, scene=False): @@ -1506,7 +1504,7 @@ class ConfigGeneral(MainHandler): handle_reverse_proxy=None, sort_article=None, auto_update=None, notify_on_update=None, proxy_setting=None, proxy_indexers=None, anon_redirect=None, git_path=None, calendar_unprotected=None, fuzzy_dating=None, trim_zero=None, date_preset=None, date_preset_na=None, time_preset=None, - indexer_timeout=None, play_videos=None, rootDir=None, use_imdbwl=None, imdbWatchlistCsv=None, theme_name=None): + indexer_timeout=None, play_videos=None, rootDir=None, theme_name=None): results = [] @@ -1516,7 +1514,6 @@ class ConfigGeneral(MainHandler): config.change_VERSION_NOTIFY(config.checkbox_to_value(version_notify)) sickbeard.AUTO_UPDATE = config.checkbox_to_value(auto_update) sickbeard.NOTIFY_ON_UPDATE = config.checkbox_to_value(notify_on_update) - sickbeard.USE_IMDBWATCHLIST = config.checkbox_to_value(use_imdbwl) # sickbeard.LOG_DIR is set in config.change_LOG_DIR() sickbeard.UPDATE_SHOWS_ON_START = config.checkbox_to_value(update_shows_on_start) diff --git a/tests/test_tvdb_api.py b/tests/test_tvdb_api.py deleted file mode 100644 index 4ca60445..00000000 --- a/tests/test_tvdb_api.py +++ /dev/null @@ -1,152 +0,0 @@ -"""Unittests for tvdb_api -""" -import unittest -import test_lib as test - -import sys, os.path -sys.path.append(os.path.abspath('..')) -sys.path.append(os.path.abspath('../lib')) - -print sys.path - -from sickbeard import show_name_helpers, scene_exceptions, common, name_cache - -import sickbeard -from sickbeard import db -from sickbeard.databases import cache_db -from sickbeard.tv import TVShow as Show - -from lib.tvdb_api.tvdb_api import * -#import tvdb_api as tvdb_api -import tvdb_api - - - -# class test_tvdb_basic(test.SickbeardTestDBCase): -# # Used to store the cached instance of Tvdb() -# t = None -# -# def setUp(self): -# if self.t is None: -# self.__class__.t = Tvdb(cache = True, banners = False) -# -# def test_different_case(self): -# """Checks the auto-correction of show names is working. -# It should correct the weirdly capitalised 'sCruBs' to 'Scrubs' -# """ -# self.assertEquals(self.t['scrubs'][1][4]['episodename'], 'My Old Lady') -# self.assertEquals(self.t['sCruBs']['seriesname'], 'Scrubs') -# -# def test_spaces(self): -# """Checks shownames with spaces -# """ -# self.assertEquals(self.t['My Name Is Earl']['seriesname'], 'My Name Is Earl') -# self.assertEquals(self.t['My Name Is Earl'][1][4]['episodename'], 'Faked His Own Death') -# -# def test_numeric(self): -# """Checks numeric show names -# """ -# self.assertEquals(self.t['24'][2][20]['episodename'], 'Day 2: 3:00 A.M.-4:00 A.M.') -# self.assertEquals(self.t['24']['seriesname'], '24') -# -# def test_show_iter(self): -# """Iterating over a show returns each seasons -# """ -# self.assertEquals( -# len( -# [season for season in self.t['Life on Mars']] -# ), -# 2 -# ) -# -# def test_season_iter(self): -# """Iterating over a show returns episodes -# """ -# self.assertEquals( -# len( -# [episode for episode in self.t['Life on Mars'][1]] -# ), -# 8 -# ) -# -# def test_get_episode_overview(self): -# """Checks episode overview is retrieved correctly. -# """ -# self.assertEquals( -# self.t['Battlestar Galactica (2003)'][1][6]['overview'].startswith( -# 'When a new copy of Doral, a Cylon who had been previously'), -# True -# ) -# -# def test_get_parent(self): -# """Check accessing series from episode instance -# """ -# show = self.t['Battlestar Galactica (2003)'] -# season = show[1] -# episode = show[1][1] -# -# self.assertEquals( -# season.show, -# show -# ) -# -# self.assertEquals( -# episode.season, -# season -# ) -# -# self.assertEquals( -# episode.season.show, -# show -# ) -# -# def test_no_season(self): -# show = self.t['Katekyo Hitman Reborn'] -# print tvdb_api -# print show[1][1] - - -class searchTvdbImdbid(test.SickbeardTestDBCase): - # Used to store the cached instance of Tvdb() - t = None - - def setUp(self): - if self.t is None: - self.__class__.t = Tvdb(cache = True, useZip = True) - - def test_search(self): - """Test Tvdb.search method - """ - results = self.t.search("",imdbid='tt0903747') - all_ids = results['seriesid'] - self.assertTrue('81189' in all_ids) - - -class test_tvdb_show_search(test.SickbeardTestDBCase): - # Used to store the cached instance of Tvdb() - t = None - - def setUp(self): - if self.t is None: - self.__class__.t = Tvdb(cache = True, useZip = True) - - def test_search(self): - """Test Tvdb.search method - """ - results = self.t.search("my name is earl") - all_ids = results['seriesid'] - self.assertTrue('75397' in all_ids) - - -if __name__ == '__main__': - print "==================" - print "STARTING - PostProcessor TESTS" - print "==================" - print "######################################################################" - print "###Test Search Tvdb for show breaking bad, using the imdb id" - suite = unittest.TestLoader().loadTestsFromTestCase(searchTvdbImdbid) - unittest.TextTestRunner(verbosity=2).run(suite) - print "######################################################################" - print "###Test Search Tvdb for show my name is earl, using the show name" - suite = unittest.TestLoader().loadTestsFromTestCase(test_tvdb_show_search) - unittest.TextTestRunner(verbosity=2).run(suite)