From ca4a2d1ed52726b499eb4b15b26107f4b19cb051 Mon Sep 17 00:00:00 2001
From: Patrick Godwin <patrick.godwin@ligo.org>
Date: Thu, 6 Dec 2018 16:38:57 -0800
Subject: [PATCH] gstlal_feature_listener: handle sqlite insert errors more
 gracefully, fix issue with reporting percent channels missed in packets

---
 gstlal-burst/bin/gstlal_feature_listener | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gstlal-burst/bin/gstlal_feature_listener b/gstlal-burst/bin/gstlal_feature_listener
index 6b6cf47f9c..8f7d2a4447 100755
--- a/gstlal-burst/bin/gstlal_feature_listener
+++ b/gstlal-burst/bin/gstlal_feature_listener
@@ -139,7 +139,7 @@ class StreamListener(object):
         logger.info('processing features for timestamp %f, latency = %.3f s' % (self.timestamp, latency))
 
         ### format row
-        percent_missed = 100. * ((self.num_channels - len(features.keys())) / self.num_channels)
+        percent_missed = 100 * (float(self.num_channels - len(features.keys())) / self.num_channels)
         if features.has_key(self.target_channel):
             target_snr = features[self.target_channel][0]['snr']
         else:
@@ -151,7 +151,10 @@ class StreamListener(object):
         c = self.conn.cursor()
         sql = ''' INSERT INTO fxmonitor(timestamp,latency,percent_missed,target_snr) VALUES(?,?,?,?) '''
         c.execute(sql,data)
-        self.conn.commit()
+        try:
+            self.conn.commit()
+        except sqlite3.OperationalError:
+            pass
 
     def start(self):
         """
-- 
GitLab