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 requests import Session, Request
from datetime import datetime, timezone 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 # Create session to reduce server web thread load, and globally define pageSize for all requests
self.session = Session() self.session = Session()
self.session.headers = {'Apikey': self.server.api_key} self.session.headers = {'Apikey': self.server.api_key}
self.logger = logging.getLogger()
def __repr__(self): def __repr__(self):
return "<ombi-{}>".format(self.server.id) return "<ombi-{}>".format(self.server.id)

View file

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

View file

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

View file

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