From 48dc589b4d457539e73948a43580b6daf5e45fd4 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Wed, 26 Aug 2020 14:47:06 +0200
Subject: [PATCH] Store when an entry is actually playing.

---
 modules/base/models.py | 3 ++-
 modules/core/events.py | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/base/models.py b/modules/base/models.py
index 5939a4cc..ec44fe72 100644
--- a/modules/base/models.py
+++ b/modules/base/models.py
@@ -429,8 +429,9 @@ class PlaylistEntry(DB.Model, AuraDatabaseModel):
     duration = Column(BigInteger)
     source = Column(String(1024))
     entry_start = Column(DateTime)
-    queue_state = None # Assigned when entry is about to be queued
+    entry_start_actual = None # Assigned when the entry is actually played
     channel = None # Assigned when entry is actually played
+    queue_state = None # Assigned when entry is about to be queued    
     status = None # Assigned when state changes
     
     switchtimer = None
diff --git a/modules/core/events.py b/modules/core/events.py
index b202d073..3cec5c26 100644
--- a/modules/core/events.py
+++ b/modules/core/events.py
@@ -18,6 +18,7 @@
 
 
 import logging
+import datetime
 
 from modules.base.utils         import SimpleUtil as SU
 from modules.base.exceptions    import NoActiveEntryException
@@ -183,6 +184,8 @@ class EngineEventDispatcher():
         else:
             entry = source
 
+        # Assign timestamp for play time
+        entry.entry_start_actual = datetime.datetime.now()
         self.call_event("on_play", entry)
 
 
-- 
GitLab