def create_tree(): """.""" dev2ip = get_device_2_ioc_ip() bbbnames = PSSearch.get_bbbnames() tree = ['BeagleBones', []] for bbbname in bbbnames: # PSSearch.con bbbip = dev2ip[bbbname] if bbbname in dev2ip else '' bbblist = (bbbname + ' [' + bbbip + ']', []) udcnames = PSSearch.conv_bbbname_2_udc(bbbname) for udcname in udcnames: udclist = [udcname, []] devices = PSSearch.conv_udc_2_bsmps(udcname) for device in devices: psname, bsmp_id = device psmodel = PSSearch.conv_psname_2_psmodel(psname) if device == devices[0]: udclist[0] += ' (' + psmodel + ')' pslist = [psname + ' (' + str(bsmp_id) + ')', []] try: dclinks = PSSearch.conv_psname_2_dclink(psname) except KeyError: dclinks = [] if dclinks is None: dclinks = [] if len(dclinks) > 0: for dclink in dclinks: dclinklist = [dclink, []] pslist[-1].append(dclinklist) # print(dclinks) udclist[-1].append(pslist) # print(psname, bsmp_id) bbblist[-1].append(udclist) tree[-1].append(bbblist) return tree
def test_get_bbbnames(self): """Test get_bbbnames.""" # without filters bbbnames = PSSearch.get_bbbnames() self.assertIsInstance(bbbnames, (list, tuple)) for bbbname in TestPSSearch.sample_bbb: self.assertIn(bbbname, bbbnames) # check sorted sorted_bbbnames = sorted(bbbnames) self.assertEqual(bbbnames, sorted_bbbnames) # # with filters # bbbnames = PSSearch.get_bbbnames({'dis': 'CO'}) # self.assertEqual(len(bbbnames), 289) # for name in bbbnames: # self.assertIn('CO', name) # bbbnames = PSSearch.get_bbbnames({'sub': 'Glob'}) # self.assertEqual(len(bbbnames), 29) # exceptions self.assertRaises(TypeError, PSSearch.get_bbbnames, filters=23) self.assertRaises(TypeError, PSSearch.get_bbbnames, filters=23.4) self.assertRaises(TypeError, PSSearch.get_bbbnames, filters=[ 0, ]) self.assertRaises(TypeError, PSSearch.get_bbbnames, filters=(0.0, ))