diff --git a/sickbeard/dailysearcher.py b/sickbeard/dailysearcher.py index 4df2176dc326b66a7d1781990afc71fd84fe5413..0d47acd9622e033e196c161bef54b24cf4e4ae90 100644 --- a/sickbeard/dailysearcher.py +++ b/sickbeard/dailysearcher.py @@ -88,7 +88,7 @@ class DailySearcher(object): if air_time > curTime: continue - ep = show.getEpisode(int(sqlEp["season"]), int(sqlEp["episode"])) + ep = show.getEpisode(sqlEp["season"], sqlEp["episode"]) with ep.lock: if ep.season == 0: logger.log(u"New episode " + ep.prettyName() + " airs today, setting status to SKIPPED because is a special season") diff --git a/sickbeard/providers/newznab.py b/sickbeard/providers/newznab.py index 58736c70de227522be9d0b0062fee888fe154d71..723bdffaa5cd0cba1ac8fa51760a6237969388ab 100644 --- a/sickbeard/providers/newznab.py +++ b/sickbeard/providers/newznab.py @@ -404,7 +404,7 @@ class NewznabProvider(NZBProvider): for sqlshow in sqlResults: self.show = Show.find(sickbeard.showList, int(sqlshow["showid"])) if self.show: - curEp = self.show.getEpisode(int(sqlshow["season"]), int(sqlshow["episode"])) + curEp = self.show.getEpisode(sqlshow["season"], sqlshow["episode"]) searchStrings = self._get_episode_search_strings(curEp, add_string='PROPER|REPACK') for searchString in searchStrings: for item in self.search(searchString): diff --git a/sickbeard/search.py b/sickbeard/search.py index 43635288ca64d014eb7ee99a69ba53d2a82c06e2..c481515b98c646acc9acdb99103eb3cee5d25446 100644 --- a/sickbeard/search.py +++ b/sickbeard/search.py @@ -355,7 +355,7 @@ def wantedEpisodes(show, fromDate): elif cur_quality in allowed_qualities: continue - epObj = show.getEpisode(int(result["season"]), int(result["episode"])) + epObj = show.getEpisode(result["season"], result["episode"]) epObj.wantedQuality = [i for i in all_qualities if i > cur_quality and i != common.Quality.UNKNOWN] wanted.append(epObj) diff --git a/sickbeard/searchBacklog.py b/sickbeard/searchBacklog.py index be2398b002318beb9df0a5fbc496034b31d1f70f..efd21b5d517742b8c39b1e99905b30be70698eab 100644 --- a/sickbeard/searchBacklog.py +++ b/sickbeard/searchBacklog.py @@ -165,7 +165,7 @@ class BacklogSearcher(object): elif cur_quality in allowed_qualities: continue - ep_obj = show.getEpisode(int(result["season"]), int(result["episode"])) + ep_obj = show.getEpisode(result["season"], result["episode"]) if ep_obj.season not in wanted: wanted[ep_obj.season] = [ep_obj] diff --git a/sickbeard/subtitles.py b/sickbeard/subtitles.py index 4155bd8c6294e429cce8af25cf14dfae49395924..d84b0b1a9ed6cc28302af32d2850531cfed88471 100644 --- a/sickbeard/subtitles.py +++ b/sickbeard/subtitles.py @@ -497,7 +497,7 @@ class SubtitlesFinder(object): logger.log(u'Show with ID %s not found in the database' % ep_to_sub['showid'], logger.DEBUG) continue - episode_object = show_object.getEpisode(int(ep_to_sub["season"]), int(ep_to_sub["episode"])) + episode_object = show_object.getEpisode(ep_to_sub["season"], ep_to_sub["episode"]) if isinstance(episode_object, str): logger.log(u'%s S%02dE%02d not found in the database' % (ep_to_sub['show_name'], ep_to_sub['season'], ep_to_sub['episode']), logger.DEBUG) diff --git a/sickbeard/traktChecker.py b/sickbeard/traktChecker.py index d1976b88e71e2f98d5e5070cf7fc0475841da077..14d3b92e7aa00fe97f5c7a058005c7609f74db26 100644 --- a/sickbeard/traktChecker.py +++ b/sickbeard/traktChecker.py @@ -39,7 +39,7 @@ def setEpisodeToWanted(show, s, e): """ Sets an episode to wanted, only if it is currently skipped """ - epObj = show.getEpisode(int(s), int(e)) + epObj = show.getEpisode(s, e) if epObj: with epObj.lock: diff --git a/sickbeard/tv.py b/sickbeard/tv.py index 4bb071446b08f92b62381d8b19bcaaadf926d9cc..eed757342723fc6d7c330def5cf4685029fb58e7 100644 --- a/sickbeard/tv.py +++ b/sickbeard/tv.py @@ -224,7 +224,7 @@ class TVShow(object): ep_list = [] for cur_result in results: - cur_ep = self.getEpisode(int(cur_result["season"]), int(cur_result["episode"])) + cur_ep = self.getEpisode(cur_result["season"], cur_result["episode"]) if not cur_ep: continue @@ -236,7 +236,7 @@ class TVShow(object): "SELECT season, episode FROM tv_episodes WHERE showid = ? AND season = ? AND location = ? AND episode != ? ORDER BY episode ASC", [self.indexerid, cur_ep.season, cur_ep.location, cur_ep.episode]) for cur_related_ep in related_eps_result: - related_ep = self.getEpisode(int(cur_related_ep["season"]), int(cur_related_ep["episode"])) + related_ep = self.getEpisode(cur_related_ep["season"], cur_related_ep["episode"]) if related_ep and related_ep not in cur_ep.relatedEps: cur_ep.relatedEps.append(related_ep) ep_list.append(cur_ep) @@ -244,6 +244,9 @@ class TVShow(object): return ep_list def getEpisode(self, season=None, episode=None, file=None, noCreate=False, absolute_number=None, forceUpdate=False): + season = try_int(season, None) + episode = try_int(episode, None) + absolute_number = try_int(absolute_number, None) # if we get an anime get the real season and episode if self.is_anime and absolute_number and not season and not episode: diff --git a/sickbeard/webapi.py b/sickbeard/webapi.py index 3d407287cae355bf86642cac9147a086b0fe164e..81d1a2ab028e0a10e6c0b54be871bd9b35a81a9f 100644 --- a/sickbeard/webapi.py +++ b/sickbeard/webapi.py @@ -789,7 +789,7 @@ class CMD_EpisodeSearch(ApiCall): return _responds(RESULT_FAILURE, msg="Show not found") # retrieve the episode object and fail if we can't get one - ep_obj = show_obj.getEpisode(int(self.s), int(self.e)) + ep_obj = show_obj.getEpisode(self.s, self.e) if isinstance(ep_obj, str): return _responds(RESULT_FAILURE, msg="Episode not found") @@ -958,7 +958,7 @@ class CMD_SubtitleSearch(ApiCall): return _responds(RESULT_FAILURE, msg="Show not found") # retrieve the episode object and fail if we can't get one - ep_obj = show_obj.getEpisode(int(self.s), int(self.e)) + ep_obj = show_obj.getEpisode(self.s, self.e) if isinstance(ep_obj, str): return _responds(RESULT_FAILURE, msg="Episode not found") diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index beed26dafef3b55db286e88916d936e93f4bc529..841fca286dc73d8f7cb70d8406327bcfb587d9c8 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -666,9 +666,9 @@ class Home(WebRoot): return "Invalid show paramaters" if absolute: - epObj = showObj.getEpisode(absolute_number=int(absolute)) + epObj = showObj.getEpisode(absolute_number=absolute) elif season and episode: - epObj = showObj.getEpisode(int(season), int(episode)) + epObj = showObj.getEpisode(season, episode) else: return "Invalid paramaters" @@ -1742,7 +1742,7 @@ class Home(WebRoot): logger.log(u"Something went wrong when trying to setStatus, epInfo[0]: %s, epInfo[1]: %s" % (epInfo[0], epInfo[1]), logger.DEBUG) continue - epObj = showObj.getEpisode(int(epInfo[0]), int(epInfo[1])) + epObj = showObj.getEpisode(epInfo[0], epInfo[1]) if not epObj: return self._genericMessage("Error", "Episode couldn't be retrieved") @@ -1913,11 +1913,11 @@ class Home(WebRoot): related_eps_result = myDB.select("SELECT season, episode FROM tv_episodes WHERE location = ? AND episode != ?", [ep_result[0]["location"], epInfo[1]]) - root_ep_obj = show_obj.getEpisode(int(epInfo[0]), int(epInfo[1])) + root_ep_obj = show_obj.getEpisode(epInfo[0], epInfo[1]) root_ep_obj.relatedEps = [] for cur_related_ep in related_eps_result: - related_ep_obj = show_obj.getEpisode(int(cur_related_ep["season"]), int(cur_related_ep["episode"])) + related_ep_obj = show_obj.getEpisode(cur_related_ep["season"], cur_related_ep["episode"]) if related_ep_obj not in root_ep_obj.relatedEps: root_ep_obj.relatedEps.append(related_ep_obj) @@ -3073,7 +3073,7 @@ class Manage(Home, WebRoot): season, episode = epResult.split('x') show = Show.find(sickbeard.showList, int(cur_indexer_id)) - show.getEpisode(int(season), int(episode)).download_subtitles() + show.getEpisode(season, episode).download_subtitles() return self.redirect('/manage/subtitleMissed/') diff --git a/sickrage/providers/torrent/TorrentProvider.py b/sickrage/providers/torrent/TorrentProvider.py index 85053687253e5a6c6e3bbe7d9dbc244dcd543b1a..e0b91945b7076427d7c201d006713306c57ea699 100644 --- a/sickrage/providers/torrent/TorrentProvider.py +++ b/sickrage/providers/torrent/TorrentProvider.py @@ -54,7 +54,7 @@ class TorrentProvider(GenericProvider): show = Show.find(sickbeard.showList, int(result['showid'])) if show: - episode = show.getEpisode(int(result['season']), int(result['episode'])) + episode = show.getEpisode(result['season'], result['episode']) for term in self.proper_strings: search_strings = self._get_episode_search_strings(episode, add_string=term)