def data_tree(handler, data): "given a data tree, will return a html-based representation" modules = [] for fragment in data: cur_path = dtmm_utils.rpart(fragment['path']) module_data = dtmm_utils.get_live_module_data(handler, fragment) if module_data['Type'].lower() == 'hardware': hardware_data = dtmm_utils.get_live_hardware_data( handler, fragment) hardware_data = { 'ID': hex(hardware_data['ID']), 'Version': hex(hardware_data['Version']), 'Manufacturer': hex(hardware_data['Manufacturer']) } else: hardware_data = None modules.append({ 'cur_path': cur_path, 'module_data': module_data, 'hardware_data': hardware_data }) return handler.dorender( 'data_tree.html', { 'modules': modules }, write=False )
def test_get_live_hardware_data(self, get_url_content): get_url_content.return_value = { 'content': base64.b64encode(''' HARDWARE = { ID = 0x74fa4cae, Version = 0x07c2, Manufacturer = 0x21544948 -- HAROLD_IT };''') } import dtmm_utils end_data = dtmm_utils.get_live_hardware_data( None, {"url": "http://mock.url/hardware_file"}) self.assertEqual( end_data, { 'Version': 1986, 'ID': 1962560686, 'Manufacturer': 559171912 } )