88 if device is not None: |
88 if device is not None: |
89 infos = slave_typeinfos.copy() |
89 infos = slave_typeinfos.copy() |
90 entries = device.GetEntriesList() |
90 entries = device.GetEntriesList() |
91 entries_list = entries.items() |
91 entries_list = entries.items() |
92 entries_list.sort() |
92 entries_list.sort() |
|
93 entries = [] |
|
94 current_index = None |
|
95 current_entry = None |
|
96 for (index, subindex), entry in entries_list: |
|
97 entry["children"] = [] |
|
98 if index != current_index: |
|
99 current_index = index |
|
100 current_entry = entry |
|
101 entries.append(entry) |
|
102 elif current_entry is not None: |
|
103 current_entry["children"].append(entry) |
|
104 else: |
|
105 entries.append(entry) |
93 infos.update({"physics": device.getPhysics(), |
106 infos.update({"physics": device.getPhysics(), |
94 "sync_managers": device.GetSyncManagers(), |
107 "sync_managers": device.GetSyncManagers(), |
95 "entries": [entry[1] for entry in entries_list]}) |
108 "entries": entries}) |
96 return infos |
109 return infos |
97 return None |
110 return None |
98 |
111 |
99 def GetVariableLocationTree(self): |
112 def GetVariableLocationTree(self): |
100 slave_typeinfos = self.GetSlaveTypeInfos() |
113 slave_typeinfos = self.GetSlaveTypeInfos() |
378 if device is not None: |
391 if device is not None: |
379 infos = type_infos.copy() |
392 infos = type_infos.copy() |
380 entries = device.GetEntriesList() |
393 entries = device.GetEntriesList() |
381 entries_list = entries.items() |
394 entries_list = entries.items() |
382 entries_list.sort() |
395 entries_list.sort() |
|
396 entries = [] |
|
397 current_index = None |
|
398 current_entry = None |
|
399 for (index, subindex), entry in entries_list: |
|
400 entry["children"] = [] |
|
401 if index != current_index: |
|
402 current_index = index |
|
403 current_entry = entry |
|
404 entries.append(entry) |
|
405 elif current_entry is not None: |
|
406 current_entry["children"].append(entry) |
|
407 else: |
|
408 entries.append(entry) |
383 infos.update({"physics": device.getPhysics(), |
409 infos.update({"physics": device.getPhysics(), |
384 "sync_managers": device.GetSyncManagers(), |
410 "sync_managers": device.GetSyncManagers(), |
385 "entries": [entry[1] for entry in entries_list]}) |
411 "entries": entries}) |
386 return infos |
412 return infos |
387 return None |
413 return None |
388 |
414 |
389 def GetModuleInfos(self, type_infos): |
415 def GetModuleInfos(self, type_infos): |
390 return self.PlugParent.GetModuleInfos(type_infos) |
416 return self.PlugParent.GetModuleInfos(type_infos) |