def _parse_episodes_from_feed(self):
feed = feedparser.parse(settings.RSS_FEED)
if not feed.entries:
logging.error('No episodes found in RSS feed, please check URL')
episodes = []
for feed_item in feed.entries:
show = self._get_matching_show(feed_item)
if show:
episode = self._get_episode_data_from_item(feed_item, show)
quality_check = episode.quality is not None and \
episode.quality >= show.minimum_quality
follow_check = episode.season > show.follow_from_season or \
(episode.season == show.follow_from_season and
episode.episode >= show.follow_from_episode)
is_downloaded = self._is_episode_downloaded(episode)
if quality_check and follow_check and not is_downloaded:
episodes.append(episode)
return episodes
评论列表
文章目录