in datahub/models/record.py [0:0]
def __repr__(self):
buf = six.StringIO()
name_space = 2 * max(len(field.name) for field in self._field_list) if self._field_list else 0
type_space = 2 * max(len(field.type.value) for field in self._field_list) if self._field_list else 0
value_space = 2 * max(len(to_str(value if value is not None else "None")) for value in self._values) if self._values else 0
buf.write('TupleRecord {\n')
buf.write(' Values {\n')
field_strs = [' {0}{1}{2}'.format(
'*name*'.ljust(name_space),
'*type*'.ljust(type_space),
'*value*'.ljust(value_space)
)]
for index, field in enumerate(self._field_list):
field_strs.append(' {0}{1}{2}'.format(
field.name.ljust(name_space),
field.type.value.ljust(type_space),
to_str(self._values[index] if self._values[index] is not None else "None").ljust(value_space)
))
buf.write(indent('\n'.join(field_strs), 2))
buf.write('\n')
buf.write(' }\n')
if self._attributes:
attribute_key_space = 2 * max(len(to_str(key)) for key in self._attributes) if self._attributes else 0
attribute_value_space = 2 * max(len(to_str(self._attributes[key])) for key in self._attributes) if self._attributes else 0
buf.write(' Attributes {\n')
field_strs = [' {0}{1}'.format(
'*key*'.ljust(attribute_key_space),
'*value*'.ljust(attribute_value_space)
)]
for key in self._attributes:
field_strs.append(' {0}{1}'.format(
to_str(key).ljust(attribute_key_space),
to_str(self._attributes[key]).ljust(attribute_value_space)
))
buf.write(indent('\n'.join(field_strs), 2))
buf.write('\n')
buf.write(' }\n')
buf.write('}\n')
return buf.getvalue()