41 def HexDecValue(context, *args): |
41 def HexDecValue(context, *args): |
42 return str(ExtractHexDecValue(args[0][0])) |
42 return str(ExtractHexDecValue(args[0][0])) |
43 |
43 |
44 |
44 |
45 def EntryName(context, *args): |
45 def EntryName(context, *args): |
46 return ExtractName(args[0], |
46 return ExtractName(args[0], args[1][0] if len(args) > 1 else None) |
47 args[1][0] if len(args) > 1 else None) |
|
48 |
47 |
49 |
48 |
50 ENTRY_INFOS_KEYS = [ |
49 ENTRY_INFOS_KEYS = [ |
51 ("Index", lambda x: "#x%4.4X" % int(x), "#x0000"), |
50 ("Index", lambda x: "#x%4.4X" % int(x), "#x0000"), |
52 ("SubIndex", str, "0"), |
51 ("SubIndex", str, "0"), |
229 "groups": {}}) |
228 "groups": {}}) |
230 |
229 |
231 for group in self.groups_xpath(self.modules_infos): |
230 for group in self.groups_xpath(self.modules_infos): |
232 group_type = group.getType() |
231 group_type = group.getType() |
233 |
232 |
234 vendor_category["groups"].setdefault(group_type, |
233 vendor_category["groups"].setdefault( |
235 {"name": ExtractName(group.getName(), group_type), |
234 group_type, |
236 "parent": group.getParentGroup(), |
235 { |
237 "order": group.getSortOrder(), |
236 "name": ExtractName(group.getName(), group_type), |
238 # "value": group.getcontent()["value"], |
237 "parent": group.getParentGroup(), |
239 "devices": []}) |
238 "order": group.getSortOrder(), |
|
239 # "value": group.getcontent()["value"], |
|
240 "devices": [], |
|
241 }) |
240 |
242 |
241 for device in self.devices_xpath(self.modules_infos): |
243 for device in self.devices_xpath(self.modules_infos): |
242 device_group = device.getGroupType() |
244 device_group = device.getGroupType() |
243 if device_group not in vendor_category["groups"]: |
245 if device_group not in vendor_category["groups"]: |
244 raise ValueError("Not such group \"%\"" % device_group) |
246 raise ValueError("Not such group \"%\"" % device_group) |