def _value_map(self, value, reverse=False): if reverse: return simplify_tuple(tuple(value[f] for f in self._value_fields())) return dict(itertools.izip(self._value_fields(), ensure_tuple(value)))
def _value_fields(self): return ensure_tuple(getattr(self, 'VALUES', ('value',)))