def __str__(self): single_line = "{}({{{}}})".format( type(self).__name__, ", ".join("{!r}: {!r}".format(k, v) for k, v in self.items())) if len(single_line) <= 80: return single_line return "{}({{\n{},\n}})".format( type(self).__name__, utils.indent(2, ",\n".join(_repr_item(k, v) for k, v in self.items())))
def test_indent(self): self.assertEqual(lines(" foo", " bar"), utils.indent(2, lines("foo", "bar")))
def _repr_item(k, v): k = repr(k) + ": " v = pprint.pformat(v) return k + utils.indent(len(k), v).lstrip()