re-auth every 10min
This commit is contained in:
@@ -4,8 +4,11 @@ from getmac import get_mac_address
|
||||
from jellyfin.models import JellyfinMediaItem, JellyfinMediaType
|
||||
from datetime import datetime
|
||||
import logging
|
||||
import time
|
||||
import os
|
||||
|
||||
AUTH_TIMEOUT = 10 * 60 # 10 minutes
|
||||
|
||||
class JellyfinApiClient:
|
||||
def __init__(self):
|
||||
machine_name = os.uname().nodename
|
||||
@@ -18,6 +21,7 @@ class JellyfinApiClient:
|
||||
self.client.config.app('jellydisc', '0.0.1', machine_name, unique_id)
|
||||
self.client.config.data['auth.ssl'] = True
|
||||
|
||||
self.last_auth_time = None
|
||||
self.authenticate()
|
||||
|
||||
self.logger.info("Connected to Jellyfin server.")
|
||||
@@ -30,9 +34,13 @@ class JellyfinApiClient:
|
||||
settings.jellyfin_username,
|
||||
settings.jellyfin_password
|
||||
)
|
||||
self.last_auth_time = time.time()
|
||||
self.logger.info("Authenticated with Jellyfin server.")
|
||||
|
||||
def get_current_playback(self) -> JellyfinMediaItem | None:
|
||||
if time.time() - self.last_auth_time > AUTH_TIMEOUT:
|
||||
self.authenticate()
|
||||
|
||||
self.logger.info("Fetching current playback information...")
|
||||
sessions = self.client.jellyfin.get_sessions()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user