def _search_params(self, show_id, season, episode, mode, season_numbering=None, session=None): searches = [] show_object = find_show(show_id, session=session) episode_object = show_object.get_episode(season, episode) air_by_date = show_object.air_by_date sports = show_object.sports if not season_numbering and (air_by_date or sports): date_fmt = '%Y' if mode == 'Season' else '%Y.%m.%d' search_name = episode_object.airdate.strftime(date_fmt) else: search_name = '{type} {number}'.format( type='Season' if mode == 'Season' else '', number=episode_object.scene_season if mode == 'Season' and season else episode_num( episode_object.scene_season, episode_object.scene_episode), ).strip() params = { 'category': mode, 'name': search_name, } # Search if show_object.indexer == 1: params['tvdb'] = show_object.indexer_id params['series'] = show_object.name searches.append(params) for name in list( set( scene_exceptions.get_scene_exceptions( show_object.indexer_id))): series_params = params.copy() series_params['series'] = sanitize_scene_name(name) searches.append(series_params) # extend air by date searches to include season numbering if air_by_date and not season_numbering: searches.extend( self._search_params(show_id, season, episode, mode, season_numbering=True)) return searches
def _search_params(self, ep_obj, mode, season_numbering=None): if not ep_obj: return [] searches = [] season = 'Season' if mode == 'Season' else '' air_by_date = ep_obj.show.air_by_date sports = ep_obj.show.sports if not season_numbering and (air_by_date or sports): date_fmt = '%Y' if season else '%Y.%m.%d' search_name = ep_obj.airdate.strftime(date_fmt) else: search_name = '{type} {number}'.format( type=season, number=ep_obj.scene_season if season else episode_num( ep_obj.scene_season, ep_obj.scene_episode ), ).strip() params = { 'category': season or 'Episode', 'name': search_name, } # Search if ep_obj.show.indexer == 1: params['tvdb'] = ep_obj.show.indexerid searches.append(params) else: name_exceptions = list( set(scene_exceptions.get_scene_exceptions(ep_obj.show.indexerid) + [ep_obj.show.name])) for name in name_exceptions: # Search by name if we don't have tvdb id params['series'] = sanitizeSceneName(name) searches.append(params) # extend air by date searches to include season numbering if air_by_date and not season_numbering: searches.extend( self._search_params(ep_obj, mode, season_numbering=True) ) return searches
def _search_params(self, ep_obj, mode, season_numbering=None): if not ep_obj: return [] searches = [] season = 'Season' if mode == 'Season' else '' air_by_date = ep_obj.show.air_by_date sports = ep_obj.show.sports if not season_numbering and (air_by_date or sports): date_fmt = '%Y' if season else '%Y.%m.%d' search_name = ep_obj.airdate.strftime(date_fmt) else: search_name = '{type} {number}'.format( type=season, number=ep_obj.season if season else episode_num( ep_obj.season, ep_obj.episode ), ).strip() params = { 'category': season or 'Episode', 'name': search_name, } # Search if ep_obj.show.indexer == 1: params['tvdb'] = ep_obj.show.indexerid searches.append(params) else: name_exceptions = list( set(scene_exceptions.get_scene_exceptions(ep_obj.show.indexerid) + [ep_obj.show.name])) for name in name_exceptions: # Search by name if we don't have tvdb id params['series'] = sanitizeSceneName(name) searches.append(params) # extend air by date searches to include season numbering if air_by_date and not season_numbering: searches.extend( self._search_params(ep_obj, mode, season_numbering=True) ) return searches
def _search_params(self, show_id, season, episode, mode, season_numbering=None): searches = [] show_object = find_show(show_id) if not show_object: return searches episode_object = show_object.get_episode(season, episode) if not season_numbering and show_object.search_format in [SearchFormats.AIR_BY_DATE, SearchFormats.SPORTS]: date_fmt = '%Y' if mode == 'Season' else '%Y.%m.%d' search_name = episode_object.airdate.strftime(date_fmt) else: search_name = '{type} {number}'.format( type='Season' if mode == 'Season' else '', number=episode_object.get_season_episode_numbering()[0] if mode == 'Season' and season else episode_num(episode_object.get_season_episode_numbering()[0], episode_object.get_season_episode_numbering()[1]), ).strip() params = { 'category': mode, 'name': search_name, } # Search if show_object.indexer == 1: params['tvdb'] = show_object.indexer_id params['series'] = show_object.name searches.append(params) for scene_exception in [x.split('|')[0] for x in show_object.scene_exceptions]: series_params = params.copy() series_params['series'] = sanitize_scene_name(scene_exception) searches.append(series_params) # extend air by date searches to include season numbering if show_object.search_format == SearchFormats.AIR_BY_DATE and not season_numbering: searches.extend(self._search_params(show_id, season, episode, mode, season_numbering=True)) return searches