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 992cc778db86c561bcebe89fd273189d5a8dbb0a..2ac9d8e9747646097cd15373d876820017cac1a3 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 6aad1088439d1bb30dd2fdf837fdfdedae250a81..983c59b8df3b361158f8a448e17768dbf0663128 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":