calculate start and end via play state
This commit is contained in:
@@ -47,9 +47,12 @@ class JellyfinApiClient:
|
||||
return None
|
||||
|
||||
for session in sessions:
|
||||
if session.get('NowPlayingItem'):
|
||||
session_id = session.get('Id')
|
||||
current_item = self.client.jellyfin.get_now_playing(session_id)
|
||||
|
||||
if current_item:
|
||||
self.logger.info("Current playback information fetched.")
|
||||
return self.to_model(session['NowPlayingItem'])
|
||||
return self.to_model(current_item)
|
||||
|
||||
self.logger.info("No active playback found.")
|
||||
return None
|
||||
@@ -71,13 +74,12 @@ class JellyfinApiClient:
|
||||
raise ValueError(f"Unsupported media type: {media_type}")
|
||||
|
||||
def get_playback_info(self, media: dict) -> tuple[int, int]:
|
||||
media_id = media.get('Id')
|
||||
playback_info = self.client.jellyfin.get_userdata_for_item(media_id)
|
||||
play_state = media.get('PlayState')
|
||||
|
||||
runtime_ticks = media.get('RunTimeTicks', 0)
|
||||
runtime_ticks = media.get('RunTimeTicks')
|
||||
total_runtime_seconds = runtime_ticks // 10_000_000
|
||||
|
||||
playback_position_ticks = playback_info.get('PlaybackPositionTicks', 0)
|
||||
playback_position_ticks = play_state.get('PositionTicks')
|
||||
playback_position_seconds = playback_position_ticks // 10_000_000
|
||||
|
||||
start = int(datetime.now().timestamp()) - playback_position_seconds
|
||||
|
||||
Reference in New Issue
Block a user