X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bindings%2Fpython%2Fbt2%2Fbt2%2Ffields.py;h=2e2796c901c127b8b60ad3287f18fc60db802948;hb=e100fef0a55b507996837f74d1cd2b34c9f8be79;hp=2f910635c4348bd9544580457fc4f9b828682e49;hpb=a310d6bdad7372b9d8b5d85519ea8a46fe911643;p=babeltrace.git diff --git a/bindings/python/bt2/bt2/fields.py b/bindings/python/bt2/bt2/fields.py index 2f910635..2e2796c9 100644 --- a/bindings/python/bt2/bt2/fields.py +++ b/bindings/python/bt2/bt2/fields.py @@ -110,8 +110,8 @@ class _NumericField(_Field): def __float__(self): return float(self._value) - def __str__(self): - return str(self._value) + def __repr__(self): + return repr(self._value) def __lt__(self, other): if not isinstance(other, numbers.Number): @@ -526,6 +526,10 @@ class _StructureField(_ContainerField, collections.abc.MutableMapping): value = property(fset=_set_value) + def __repr__(self): + items = ['{}: {}'.format(repr(k), repr(v)) for k, v in self.items()] + return '{{{}}}'.format(', '.join(items)) + class _VariantField(_Field): _NAME = 'Variant' @@ -562,6 +566,9 @@ class _VariantField(_Field): def __bool__(self): return bool(self.selected_field) + def __repr__(self): + return repr(self._value) + @property def _value(self): if self.selected_field is not None: @@ -622,6 +629,9 @@ class _ArraySequenceField(_ContainerField, collections.abc.MutableSequence): def _value(self): return [field._value for field in self] + def __repr__(self): + return '[{}]'.format(', '.join([repr(v) for v in self])) + class _ArrayField(_ArraySequenceField): _NAME = 'Array'