... | ... |
@@ -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 |
|