mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-08 14:10:52 -07:00
Update database session on state change
This commit is contained in:
parent
b87eb68bdd
commit
1a293d525f
1 changed files with 21 additions and 22 deletions
|
@ -74,9 +74,22 @@ class ActivityHandler(object):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def update_db_session(self, session=None):
|
def update_db_session(self, session=None):
|
||||||
|
if session is None:
|
||||||
|
session = self.get_live_session()
|
||||||
|
|
||||||
|
if session:
|
||||||
# Update our session temp table values
|
# Update our session temp table values
|
||||||
monitor_proc = activity_processor.ActivityProcessor()
|
ap = activity_processor.ActivityProcessor()
|
||||||
monitor_proc.write_session(session=session, notify=False)
|
ap.write_session(session=session, notify=False)
|
||||||
|
|
||||||
|
self.set_session_state()
|
||||||
|
|
||||||
|
def set_session_state(self):
|
||||||
|
ap = activity_processor.ActivityProcessor()
|
||||||
|
ap.set_session_state(session_key=self.get_session_key(),
|
||||||
|
state=self.timeline['state'],
|
||||||
|
view_offset=self.timeline['viewOffset'],
|
||||||
|
stopped=int(time.time()))
|
||||||
|
|
||||||
def on_start(self):
|
def on_start(self):
|
||||||
if self.is_valid_session():
|
if self.is_valid_session():
|
||||||
|
@ -114,10 +127,7 @@ class ActivityHandler(object):
|
||||||
# Update the session state and viewOffset
|
# Update the session state and viewOffset
|
||||||
# Set force_stop to true to disable the state set
|
# Set force_stop to true to disable the state set
|
||||||
if not force_stop:
|
if not force_stop:
|
||||||
ap.set_session_state(session_key=self.get_session_key(),
|
self.set_session_state()
|
||||||
state=self.timeline['state'],
|
|
||||||
view_offset=self.timeline['viewOffset'],
|
|
||||||
stopped=int(time.time()))
|
|
||||||
|
|
||||||
# Retrieve the session data from our temp table
|
# Retrieve the session data from our temp table
|
||||||
db_session = ap.get_session_by_key(session_key=self.get_session_key())
|
db_session = ap.get_session_by_key(session_key=self.get_session_key())
|
||||||
|
@ -150,10 +160,7 @@ class ActivityHandler(object):
|
||||||
ap.set_session_last_paused(session_key=self.get_session_key(), timestamp=int(time.time()))
|
ap.set_session_last_paused(session_key=self.get_session_key(), timestamp=int(time.time()))
|
||||||
|
|
||||||
# Update the session state and viewOffset
|
# Update the session state and viewOffset
|
||||||
ap.set_session_state(session_key=self.get_session_key(),
|
self.update_db_session()
|
||||||
state=self.timeline['state'],
|
|
||||||
view_offset=self.timeline['viewOffset'],
|
|
||||||
stopped=int(time.time()))
|
|
||||||
|
|
||||||
# Retrieve the session data from our temp table
|
# Retrieve the session data from our temp table
|
||||||
db_session = ap.get_session_by_key(session_key=self.get_session_key())
|
db_session = ap.get_session_by_key(session_key=self.get_session_key())
|
||||||
|
@ -170,10 +177,7 @@ class ActivityHandler(object):
|
||||||
ap.set_session_last_paused(session_key=self.get_session_key(), timestamp=None)
|
ap.set_session_last_paused(session_key=self.get_session_key(), timestamp=None)
|
||||||
|
|
||||||
# Update the session state and viewOffset
|
# Update the session state and viewOffset
|
||||||
ap.set_session_state(session_key=self.get_session_key(),
|
self.update_db_session()
|
||||||
state=self.timeline['state'],
|
|
||||||
view_offset=self.timeline['viewOffset'],
|
|
||||||
stopped=int(time.time()))
|
|
||||||
|
|
||||||
# Retrieve the session data from our temp table
|
# Retrieve the session data from our temp table
|
||||||
db_session = ap.get_session_by_key(session_key=self.get_session_key())
|
db_session = ap.get_session_by_key(session_key=self.get_session_key())
|
||||||
|
@ -198,10 +202,7 @@ class ActivityHandler(object):
|
||||||
buffer_last_triggered = ap.get_session_buffer_trigger_time(self.get_session_key())
|
buffer_last_triggered = ap.get_session_buffer_trigger_time(self.get_session_key())
|
||||||
|
|
||||||
# Update the session state and viewOffset
|
# Update the session state and viewOffset
|
||||||
ap.set_session_state(session_key=self.get_session_key(),
|
self.update_db_session()
|
||||||
state=self.timeline['state'],
|
|
||||||
view_offset=self.timeline['viewOffset'],
|
|
||||||
stopped=int(time.time()))
|
|
||||||
|
|
||||||
time_since_last_trigger = 0
|
time_since_last_trigger = 0
|
||||||
if buffer_last_triggered:
|
if buffer_last_triggered:
|
||||||
|
@ -243,9 +244,7 @@ class ActivityHandler(object):
|
||||||
# Update the session in our temp session table
|
# Update the session in our temp session table
|
||||||
# if the last set temporary stopped time exceeds 15 seconds
|
# if the last set temporary stopped time exceeds 15 seconds
|
||||||
if int(time.time()) - db_session['stopped'] > 60:
|
if int(time.time()) - db_session['stopped'] > 60:
|
||||||
session = self.get_live_session()
|
self.update_db_session()
|
||||||
if session:
|
|
||||||
self.update_db_session(session=session)
|
|
||||||
|
|
||||||
# Start our state checks
|
# Start our state checks
|
||||||
if this_state != last_state:
|
if this_state != last_state:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue