added logger to all subclasses, and added exception handling for structure creation

This commit is contained in:
Nicholas St. Germain 2018-12-06 11:39:51 -06:00
parent b27066a213
commit 59bfb4a567
4 changed files with 35 additions and 8 deletions

View file

@ -1,3 +1,4 @@
import logging
from requests import Session, Request
from datetime import datetime, timezone
@ -13,6 +14,7 @@ class OmbiAPI(object):
# Create session to reduce server web thread load, and globally define pageSize for all requests
self.session = Session()
self.session.headers = {'Apikey': self.server.api_key}
self.logger = logging.getLogger()
def __repr__(self):
return "<ombi-{}>".format(self.server.id)

View file

@ -1,3 +1,4 @@
import logging
from requests import Session, Request
from datetime import datetime, timezone
@ -13,6 +14,7 @@ class RadarrAPI(object):
# Create session to reduce server web thread load, and globally define pageSize for all requests
self.session = Session()
self.session.headers = {'X-Api-Key': self.server.api_key}
self.logger = logging.getLogger()
def __repr__(self):
return "<radarr-{}>".format(self.server.id)
@ -29,7 +31,11 @@ class RadarrAPI(object):
if not get:
return
try:
movies = [Movie(**movie) for movie in get]
except TypeError as e:
self.logger.error('TypeError has occurred : %s', e)
return
for movie in movies:
if not movie.downloaded:
@ -74,8 +80,17 @@ class RadarrAPI(object):
return
for movie in get:
try:
movie['movie'] = Movie(**movie['movie'])
except TypeError as e:
self.logger.error('TypeError has occurred : %s', e)
return
try:
download_queue = [Queue(**movie) for movie in get]
except TypeError as e:
self.logger.error('TypeError has occurred : %s', e)
return
for queue_item in download_queue:
name = '{} ({})'.format(queue_item.movie.title, queue_item.movie.year)

View file

@ -1,3 +1,4 @@
import logging
from requests import Session, Request
from datetime import datetime, timezone, date, timedelta
@ -16,6 +17,7 @@ class SonarrAPI(object):
self.session = Session()
self.session.headers = {'X-Api-Key': self.server.api_key}
self.session.params = {'pageSize': 1000}
self.logger = logging.getLogger()
def __repr__(self):
return "<sonarr-{}>".format(self.server.id)
@ -38,7 +40,7 @@ class SonarrAPI(object):
try:
tv_shows = [TVShow(**show) for show in get]
except TypeError as e:
logger.error('TypeError has occurred : %s', e)
self.logger.error('TypeError has occurred : %s', e)
return
# Add show to missing list if file does not exist
@ -85,7 +87,11 @@ class SonarrAPI(object):
if not get:
return
try:
tv_shows = [TVShow(**show) for show in get]
except TypeError as e:
self.logger.error('TypeError has occurred : %s', e)
return
for show in tv_shows:
sxe = 'S{:0>2}E{:0>2}'.format(show.seasonNumber, show.episodeNumber)
@ -131,7 +137,11 @@ class SonarrAPI(object):
if not get:
return
try:
download_queue = [Queue(**show) for show in get]
except TypeError as e:
self.logger.error('TypeError has occurred : %s', e)
return
for show in download_queue:
sxe = 'S{:0>2}E{:0>2}'.format(show.episode['seasonNumber'], show.episode['episodeNumber'])

View file

@ -1,8 +1,7 @@
import logging
from requests import Session, Request
from datetime import datetime, timezone
from geoip2.errors import AddressNotFoundError
from requests import Session, Request
from varken.helpers import geo_lookup, hashit, connection_handler
from varken.structures import TautulliStream
@ -33,6 +32,7 @@ class TautulliAPI(object):
return
get = g['response']['data']
try:
sessions = [TautulliStream(**session) for session in get['sessions']]
except TypeError as e: