SickGear/sickgear/rssfeeds.py
JackDandy ae4173e8c0 Change py2 unicode into f-strings or simple strings where appropriate.
Change use specific logger functions for debug, warning, error.
2023-03-08 14:22:40 +00:00

38 lines
1.2 KiB
Python

# coding=utf-8
#
# This file is part of SickGear.
#
import feedparser
from exceptions_helper import ex
from sickgear import logger
class RSSFeeds(object):
def __init__(self, provider=None):
self.provider = provider
def get_feed(self, url, **kwargs):
if self.provider:
success, err_msg = self.provider.check_auth_cookie()
if not success:
return
response = self.provider.get_url(url, **kwargs)
if not self.provider.should_skip() and response:
try:
data = feedparser.parse(response)
data['rq_response'] = self.provider.session.response
if data and 'entries' in data:
return data
if data and 'error' in data.feed:
err_code = data.feed['error']['code']
err_desc = data.feed['error']['description']
logger.debug(f'RSS error:[{err_desc}] code:[{err_code}]')
else:
logger.debug(f'RSS error loading url: {url}')
except (BaseException, Exception) as e:
logger.debug(f'RSS error: {ex(e)}')