mirror of
https://github.com/SickGear/SickGear.git
synced 2024-11-25 06:15:04 +00:00
ae4173e8c0
Change use specific logger functions for debug, warning, error.
38 lines
1.2 KiB
Python
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)}')
|