Add helper itemgetter function for TautulliStream fields (#157)
Add helper itemgetter function for TautulliStream fields
This commit is contained in:
commit
217ed0612d
2 changed files with 5 additions and 9 deletions
|
@ -203,3 +203,6 @@ def boolcheck(var):
|
|||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def itemgetter_with_default(**defaults):
|
||||
return lambda obj: tuple(obj.get(k, v) for k, v in defaults.items())
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
from logging import getLogger
|
||||
from operator import itemgetter
|
||||
from requests import Session, Request
|
||||
from geoip2.errors import AddressNotFoundError
|
||||
from datetime import datetime, timezone, date, timedelta
|
||||
from influxdb.exceptions import InfluxDBClientError
|
||||
|
||||
from varken.structures import TautulliStream
|
||||
from varken.helpers import hashit, connection_handler
|
||||
from varken.helpers import hashit, connection_handler, itemgetter_with_default
|
||||
|
||||
|
||||
class TautulliAPI(object):
|
||||
|
@ -35,13 +34,7 @@ class TautulliAPI(object):
|
|||
return
|
||||
|
||||
get = g['response']['data']
|
||||
|
||||
# Remove erroneous key from sessions
|
||||
for session in get['sessions']:
|
||||
if session.get('_cache_time'):
|
||||
del session['_cache_time']
|
||||
|
||||
fields = itemgetter(*TautulliStream._fields)
|
||||
fields = itemgetter_with_default(**TautulliStream._field_defaults)
|
||||
|
||||
try:
|
||||
sessions = [TautulliStream(*fields(session)) for session in get['sessions']]
|
||||
|
|
Loading…
Reference in a new issue