| ... | ... |
@@ -418,7 +418,14 @@ def value(xml, enum): |
| 418 | 418 |
|
| 419 | 419 |
### `enum` |
| 420 | 420 |
def enum(xml, value): |
| 421 |
- enum = xml.xpath(f"{ENUMS}/enum[@value='{value}']/@name")
|
|
| 421 |
+ def conv(s): |
|
| 422 |
+ return int(s, 16 if s.startswith('0x') else 10)
|
|
| 423 |
+ value = conv(value) |
|
| 424 |
+ enum = ( |
|
| 425 |
+ enum.get('name')
|
|
| 426 |
+ for enum in xml.xpath(f"{ENUMS}/enum")
|
|
| 427 |
+ if conv(enum.get('value')) == value
|
|
| 428 |
+ ) |
|
| 422 | 429 |
return sorted(enum, key=key) |
| 423 | 430 |
|
| 424 | 431 |
|