From b26f2c21cdb42810dac1328fe5457ea67490334f Mon Sep 17 00:00:00 2001
From: stedif <stefano.difrischia@inaf.it>
Date: Wed, 21 Sep 2022 18:07:39 +0200
Subject: [PATCH] L2SS-869: convert back Empty to None

---
 .../default/statistics/test_writer_sst.py            | 12 ++++++------
 .../tangostationcontrol/statistics/reader.py         |  9 ++++++---
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/tangostationcontrol/tangostationcontrol/integration_test/default/statistics/test_writer_sst.py b/tangostationcontrol/tangostationcontrol/integration_test/default/statistics/test_writer_sst.py
index 992cc778d..2ac9d8e97 100644
--- a/tangostationcontrol/tangostationcontrol/integration_test/default/statistics/test_writer_sst.py
+++ b/tangostationcontrol/tangostationcontrol/integration_test/default/statistics/test_writer_sst.py
@@ -183,9 +183,9 @@ class TestStatisticsWriterSST(BaseIntegrationTestCase):
                 self.assertIsNotNone(stat)
                 self.assertEqual(121, stat.data_id_signal_input_index)
                 # Test RECV attributes      
-                self.assertEqual(stat.rcu_attenuator_dB.tolist(), Empty("f"))
-                self.assertEqual(stat.rcu_band_select.tolist(), Empty("f"))
-                self.assertEqual(stat.rcu_dth_on.tolist(), Empty("f")) 
+                self.assertEqual(stat.rcu_attenuator_dB, None)
+                self.assertEqual(stat.rcu_band_select, None)
+                self.assertEqual(stat.rcu_dth_on, None) 
             
     def test_SST_statistics_with_device_in_off(self):     
         self.setup_recv_proxy()
@@ -223,6 +223,6 @@ class TestStatisticsWriterSST(BaseIntegrationTestCase):
                 self.assertIsNotNone(stat)
                 self.assertEqual(121, stat.data_id_signal_input_index)
                 # Test RECV attributes      
-                self.assertEqual(stat.rcu_attenuator_dB.tolist(), Empty("f"))
-                self.assertEqual(stat.rcu_band_select.tolist(), Empty("f"))
-                self.assertEqual(stat.rcu_dth_on.tolist(), Empty("f"))
+                self.assertEqual(stat.rcu_attenuator_dB, None)
+                self.assertEqual(stat.rcu_band_select, None)
+                self.assertEqual(stat.rcu_dth_on, None)
diff --git a/tangostationcontrol/tangostationcontrol/statistics/reader.py b/tangostationcontrol/tangostationcontrol/statistics/reader.py
index 6aad10884..983c59b8d 100644
--- a/tangostationcontrol/tangostationcontrol/statistics/reader.py
+++ b/tangostationcontrol/tangostationcontrol/statistics/reader.py
@@ -203,9 +203,12 @@ class statistics_data:
         # get SST specific stuff
         if self.marker == "S":
             self.data_id_signal_input_index = file[group_key].attrs["data_id_signal_input_index"]
-            self.rcu_attenuator_dB = numpy.array(file[group_key].attrs["rcu_attenuator_dB"])
-            self.rcu_band_select = numpy.array(file[group_key].attrs["rcu_band_select"])
-            self.rcu_dth_on = numpy.array(file[group_key].attrs["rcu_dth_on"])
+            attribute_names = ["rcu_attenuator_dB", "rcu_band_select", "rcu_dth_on"]
+            for a in attribute_names:
+                if file[group_key].attrs[a].shape is None:
+                    setattr(self, a, None) 
+                else :
+                    setattr(self, a, numpy.array(file[group_key].attrs[a]))
 
         # get XST specific stuff
         if self.marker == "X":
-- 
GitLab