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
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
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 logging import getLogger
|
||||||
from operator import itemgetter
|
|
||||||
from requests import Session, Request
|
from requests import Session, Request
|
||||||
from geoip2.errors import AddressNotFoundError
|
from geoip2.errors import AddressNotFoundError
|
||||||
from datetime import datetime, timezone, date, timedelta
|
from datetime import datetime, timezone, date, timedelta
|
||||||
from influxdb.exceptions import InfluxDBClientError
|
from influxdb.exceptions import InfluxDBClientError
|
||||||
|
|
||||||
from varken.structures import TautulliStream
|
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):
|
class TautulliAPI(object):
|
||||||
|
@ -35,13 +34,7 @@ class TautulliAPI(object):
|
||||||
return
|
return
|
||||||
|
|
||||||
get = g['response']['data']
|
get = g['response']['data']
|
||||||
|
fields = itemgetter_with_default(**TautulliStream._field_defaults)
|
||||||
# Remove erroneous key from sessions
|
|
||||||
for session in get['sessions']:
|
|
||||||
if session.get('_cache_time'):
|
|
||||||
del session['_cache_time']
|
|
||||||
|
|
||||||
fields = itemgetter(*TautulliStream._fields)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
sessions = [TautulliStream(*fields(session)) for session in get['sessions']]
|
sessions = [TautulliStream(*fields(session)) for session in get['sessions']]
|
||||||
|
|
Loading…
Reference in a new issue