Let pprint() support sets and frozensets (suggested by David Mertz).
This commit is contained in:
parent
2230bcfe24
commit
c226c31139
|
@ -25,6 +25,9 @@ width constraint.
|
|||
dictionary was sorted only if its display required more than one line, although
|
||||
that wasn't documented.
|
||||
|
||||
.. versionchanged:: 2.6
|
||||
Added support for :class:`set` and :class:`frozenset`.
|
||||
|
||||
The :mod:`pprint` module defines one class:
|
||||
|
||||
.. First the implementation class:
|
||||
|
|
|
@ -162,11 +162,24 @@ class PrettyPrinter:
|
|||
write('}')
|
||||
return
|
||||
|
||||
if (issubclass(typ, list) and r is list.__repr__) or \
|
||||
(issubclass(typ, tuple) and r is tuple.__repr__):
|
||||
if ((issubclass(typ, list) and r is list.__repr__) or
|
||||
(issubclass(typ, tuple) and r is tuple.__repr__) or
|
||||
(issubclass(typ, set) and r is set.__repr__) or
|
||||
(issubclass(typ, frozenset) and r is frozenset.__repr__)
|
||||
):
|
||||
if issubclass(typ, list):
|
||||
write('[')
|
||||
endchar = ']'
|
||||
elif issubclass(typ, set):
|
||||
write('set([')
|
||||
endchar = '])'
|
||||
object = sorted(object)
|
||||
indent += 4
|
||||
elif issubclass(typ, frozenset):
|
||||
write('frozenset([')
|
||||
endchar = '])'
|
||||
object = sorted(object)
|
||||
indent += 9
|
||||
else:
|
||||
write('(')
|
||||
endchar = ')'
|
||||
|
|
Loading…
Reference in New Issue