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
Esempio n. 2
0
 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, ))