From fe268bd1abe2568cfd4bad2b3bb433c521b2f7f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz>
Date: Tue, 13 Jun 2017 12:15:40 +0000
Subject: [PATCH] More robust timestamps

---
 warden3/contrib/connectors/hp-labrea/labrea-idea.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/warden3/contrib/connectors/hp-labrea/labrea-idea.py b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
index f87f4a1..c9ce75f 100755
--- a/warden3/contrib/connectors/hp-labrea/labrea-idea.py
+++ b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
@@ -52,7 +52,8 @@ class WindowContextMgr(object):
         return aggr_events
 
     def process(self, event=None, timestamp=None):
-        self.update_timestamp = timestamp
+        if timestamp > self.update_timestamp:
+            self.update_timestamp = timestamp
 
         aggr_events = []
 
@@ -73,7 +74,9 @@ class WindowContextMgr(object):
 
         return aggr_events
 
-    def close(self):
+    def close(self, timestamp):
+        if timestamp is not None and timestamp > self.update_timestamp:
+            self.update_timestamp = timestamp
         aggr_events = []
         for context in self.contexts.values():
             closed = self.ctx_close(context)
@@ -650,7 +653,8 @@ def main():
                     time.sleep(opts.poll)
 
         for context in contexts:
-            save_events(context.close(), filer)
+            timestamp = int(time.time()) if opts.realtime else None
+            save_events(context.close(timestamp), filer)
 
     except Exception:
         logging.exception("Exception")
-- 
GitLab