py_gen: make constant_for_value use the IR
diff --git a/py_gen/util.py b/py_gen/util.py
index 30c5d50..06612e4 100644
--- a/py_gen/util.py
+++ b/py_gen/util.py
@@ -74,6 +74,9 @@
raise ValueError("No wiretype for %s in version %d" % (cls, version))
def constant_for_value(version, group, value):
- return (["const." + v["ofp_name"] for k, v in of_g.identifiers.items()
- if k in of_g.identifiers_by_group[group] and
- v["values_by_version"].get(version, None) == value] or [value])[0]
+ enums = of_g.ir[version].enums
+ enum = [x for x in enums if x.name == group][0]
+ for name, value2 in enum.values:
+ if value == value2:
+ return "const." + name
+ return repr(value)