Implement the __repr__ method for the various Value classes
as it provides a fallback for __str__ and provides both a
non-ambiguous and human-readable string representation of those
objects.
The Array and Map values' implementation is made more compact by
using list comprehensions, as is done for the Fields API.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
def __float__(self):
return float(self._value)
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):
def __lt__(self, other):
if not isinstance(other, numbers.Number):
def __bool__(self):
return self._value
def __bool__(self):
return self._value
- def __str__(self):
- return str(self._value)
+ def __repr__(self):
+ return repr(self._value)
def _value_to_bool(self, value):
if isinstance(value, BoolValue):
def _value_to_bool(self, value):
if isinstance(value, BoolValue):
def __bool__(self):
return bool(self._value)
def __bool__(self):
return bool(self._value)
+ def __repr__(self):
+ repr(self._value)
+
def __str__(self):
return self._value
def __str__(self):
return self._value
- def __str__(self):
- strings = []
-
- for elem in self:
- if isinstance(elem, StringValue):
- strings.append(repr(elem._value))
- else:
- strings.append(str(elem))
-
- return '[{}]'.format(', '.join(strings))
+ def __repr__(self):
+ return '[{}]'.format(', '.join([repr(v) for v in self]))
def insert(self, value):
raise NotImplementedError
def insert(self, value):
raise NotImplementedError
status = native_bt.value_map_insert(self._ptr, key, ptr)
self._handle_status(status)
status = native_bt.value_map_insert(self._ptr, key, ptr)
self._handle_status(status)
- def __str__(self):
- strings = []
-
- for key, elem in self.items():
- if isinstance(elem, StringValue):
- value = repr(elem._value)
- else:
- value = str(elem)
-
- strings.append('{}: {}'.format(repr(key), value))
-
- return '{{{}}}'.format(', '.join(strings))
+ def __repr__(self):
+ items = ['{}: {}'.format(repr(k), repr(v)) for k, v in self.items()]
+ return '{{{}}}'.format(', '.join(items))