diff -r d54036f70390 -r 6f78c4ac22f9 etherlab/etherlab.py --- a/etherlab/etherlab.py Wed Feb 29 12:00:20 2012 +0100 +++ b/etherlab/etherlab.py Sun Mar 11 19:32:44 2012 +0100 @@ -90,9 +90,22 @@ entries = device.GetEntriesList() entries_list = entries.items() entries_list.sort() + entries = [] + current_index = None + current_entry = None + for (index, subindex), entry in entries_list: + entry["children"] = [] + if index != current_index: + current_index = index + current_entry = entry + entries.append(entry) + elif current_entry is not None: + current_entry["children"].append(entry) + else: + entries.append(entry) infos.update({"physics": device.getPhysics(), "sync_managers": device.GetSyncManagers(), - "entries": [entry[1] for entry in entries_list]}) + "entries": entries}) return infos return None @@ -380,9 +393,22 @@ entries = device.GetEntriesList() entries_list = entries.items() entries_list.sort() + entries = [] + current_index = None + current_entry = None + for (index, subindex), entry in entries_list: + entry["children"] = [] + if index != current_index: + current_index = index + current_entry = entry + entries.append(entry) + elif current_entry is not None: + current_entry["children"].append(entry) + else: + entries.append(entry) infos.update({"physics": device.getPhysics(), "sync_managers": device.GetSyncManagers(), - "entries": [entry[1] for entry in entries_list]}) + "entries": entries}) return infos return None