summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/src/Lib/pprint.py
diff options
context:
space:
mode:
authorshadchin <[email protected]>2022-02-10 16:44:39 +0300
committerDaniil Cherednik <[email protected]>2022-02-10 16:44:39 +0300
commite9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch)
tree64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/tools/python3/src/Lib/pprint.py
parent2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff)
Restoring authorship annotation for <[email protected]>. Commit 2 of 2.
Diffstat (limited to 'contrib/tools/python3/src/Lib/pprint.py')
-rw-r--r--contrib/tools/python3/src/Lib/pprint.py118
1 files changed, 59 insertions, 59 deletions
diff --git a/contrib/tools/python3/src/Lib/pprint.py b/contrib/tools/python3/src/Lib/pprint.py
index acd514bc031..7c1118a484b 100644
--- a/contrib/tools/python3/src/Lib/pprint.py
+++ b/contrib/tools/python3/src/Lib/pprint.py
@@ -41,38 +41,38 @@ import types as _types
from io import StringIO as _StringIO
__all__ = ["pprint","pformat","isreadable","isrecursive","saferepr",
- "PrettyPrinter", "pp"]
+ "PrettyPrinter", "pp"]
def pprint(object, stream=None, indent=1, width=80, depth=None, *,
- compact=False, sort_dicts=True):
+ compact=False, sort_dicts=True):
"""Pretty-print a Python object to a stream [default is sys.stdout]."""
printer = PrettyPrinter(
stream=stream, indent=indent, width=width, depth=depth,
- compact=compact, sort_dicts=sort_dicts)
+ compact=compact, sort_dicts=sort_dicts)
printer.pprint(object)
-def pformat(object, indent=1, width=80, depth=None, *,
- compact=False, sort_dicts=True):
+def pformat(object, indent=1, width=80, depth=None, *,
+ compact=False, sort_dicts=True):
"""Format a Python object into a pretty-printed representation."""
return PrettyPrinter(indent=indent, width=width, depth=depth,
- compact=compact, sort_dicts=sort_dicts).pformat(object)
+ compact=compact, sort_dicts=sort_dicts).pformat(object)
+
+def pp(object, *args, sort_dicts=False, **kwargs):
+ """Pretty-print a Python object"""
+ pprint(object, *args, sort_dicts=sort_dicts, **kwargs)
-def pp(object, *args, sort_dicts=False, **kwargs):
- """Pretty-print a Python object"""
- pprint(object, *args, sort_dicts=sort_dicts, **kwargs)
-
def saferepr(object):
"""Version of repr() which can handle recursive data structures."""
- return _safe_repr(object, {}, None, 0, True)[0]
+ return _safe_repr(object, {}, None, 0, True)[0]
def isreadable(object):
"""Determine if saferepr(object) is readable by eval()."""
- return _safe_repr(object, {}, None, 0, True)[1]
+ return _safe_repr(object, {}, None, 0, True)[1]
def isrecursive(object):
"""Determine if object requires a recursive representation."""
- return _safe_repr(object, {}, None, 0, True)[2]
+ return _safe_repr(object, {}, None, 0, True)[2]
class _safe_key:
"""Helper function for key functions when sorting unorderable objects.
@@ -102,7 +102,7 @@ def _safe_tuple(t):
class PrettyPrinter:
def __init__(self, indent=1, width=80, depth=None, stream=None, *,
- compact=False, sort_dicts=True):
+ compact=False, sort_dicts=True):
"""Handle pretty printing operations onto a stream using a set of
configured parameters.
@@ -122,9 +122,9 @@ class PrettyPrinter:
compact
If true, several items will be combined in one line.
- sort_dicts
- If true, dict keys are sorted.
-
+ sort_dicts
+ If true, dict keys are sorted.
+
"""
indent = int(indent)
width = int(width)
@@ -142,7 +142,7 @@ class PrettyPrinter:
else:
self._stream = _sys.stdout
self._compact = bool(compact)
- self._sort_dicts = sort_dicts
+ self._sort_dicts = sort_dicts
def pprint(self, object):
self._format(object, self._stream, 0, 0, {}, 0)
@@ -193,10 +193,10 @@ class PrettyPrinter:
write((self._indent_per_level - 1) * ' ')
length = len(object)
if length:
- if self._sort_dicts:
- items = sorted(object.items(), key=_safe_tuple)
- else:
- items = object.items()
+ if self._sort_dicts:
+ items = sorted(object.items(), key=_safe_tuple)
+ else:
+ items = object.items()
self._format_dict_items(items, stream, indent, allowance + 1,
context, level)
write('}')
@@ -342,33 +342,33 @@ class PrettyPrinter:
_dispatch[_types.MappingProxyType.__repr__] = _pprint_mappingproxy
- def _pprint_simplenamespace(self, object, stream, indent, allowance, context, level):
- if type(object) is _types.SimpleNamespace:
- # The SimpleNamespace repr is "namespace" instead of the class
- # name, so we do the same here. For subclasses; use the class name.
- cls_name = 'namespace'
- else:
- cls_name = object.__class__.__name__
- indent += len(cls_name) + 1
- delimnl = ',\n' + ' ' * indent
- items = object.__dict__.items()
- last_index = len(items) - 1
-
- stream.write(cls_name + '(')
- for i, (key, ent) in enumerate(items):
- stream.write(key)
- stream.write('=')
-
- last = i == last_index
- self._format(ent, stream, indent + len(key) + 1,
- allowance if last else 1,
- context, level)
- if not last:
- stream.write(delimnl)
- stream.write(')')
-
- _dispatch[_types.SimpleNamespace.__repr__] = _pprint_simplenamespace
-
+ def _pprint_simplenamespace(self, object, stream, indent, allowance, context, level):
+ if type(object) is _types.SimpleNamespace:
+ # The SimpleNamespace repr is "namespace" instead of the class
+ # name, so we do the same here. For subclasses; use the class name.
+ cls_name = 'namespace'
+ else:
+ cls_name = object.__class__.__name__
+ indent += len(cls_name) + 1
+ delimnl = ',\n' + ' ' * indent
+ items = object.__dict__.items()
+ last_index = len(items) - 1
+
+ stream.write(cls_name + '(')
+ for i, (key, ent) in enumerate(items):
+ stream.write(key)
+ stream.write('=')
+
+ last = i == last_index
+ self._format(ent, stream, indent + len(key) + 1,
+ allowance if last else 1,
+ context, level)
+ if not last:
+ stream.write(delimnl)
+ stream.write(')')
+
+ _dispatch[_types.SimpleNamespace.__repr__] = _pprint_simplenamespace
+
def _format_dict_items(self, items, stream, indent, allowance, context,
level):
write = stream.write
@@ -441,7 +441,7 @@ class PrettyPrinter:
and flags indicating whether the representation is 'readable'
and whether the object represents a recursive construct.
"""
- return _safe_repr(object, context, maxlevels, level, self._sort_dicts)
+ return _safe_repr(object, context, maxlevels, level, self._sort_dicts)
def _pprint_default_dict(self, object, stream, indent, allowance, context, level):
if not len(object):
@@ -526,7 +526,7 @@ class PrettyPrinter:
# Return triple (repr_string, isreadable, isrecursive).
-def _safe_repr(object, context, maxlevels, level, sort_dicts):
+def _safe_repr(object, context, maxlevels, level, sort_dicts):
typ = type(object)
if typ in _builtin_scalars:
return repr(object), True, False
@@ -546,13 +546,13 @@ def _safe_repr(object, context, maxlevels, level, sort_dicts):
components = []
append = components.append
level += 1
- if sort_dicts:
- items = sorted(object.items(), key=_safe_tuple)
- else:
- items = object.items()
+ if sort_dicts:
+ items = sorted(object.items(), key=_safe_tuple)
+ else:
+ items = object.items()
for k, v in items:
- krepr, kreadable, krecur = _safe_repr(k, context, maxlevels, level, sort_dicts)
- vrepr, vreadable, vrecur = _safe_repr(v, context, maxlevels, level, sort_dicts)
+ krepr, kreadable, krecur = _safe_repr(k, context, maxlevels, level, sort_dicts)
+ vrepr, vreadable, vrecur = _safe_repr(v, context, maxlevels, level, sort_dicts)
append("%s: %s" % (krepr, vrepr))
readable = readable and kreadable and vreadable
if krecur or vrecur:
@@ -584,7 +584,7 @@ def _safe_repr(object, context, maxlevels, level, sort_dicts):
append = components.append
level += 1
for o in object:
- orepr, oreadable, orecur = _safe_repr(o, context, maxlevels, level, sort_dicts)
+ orepr, oreadable, orecur = _safe_repr(o, context, maxlevels, level, sort_dicts)
append(orepr)
if not oreadable:
readable = False
@@ -610,7 +610,7 @@ def _perfcheck(object=None):
object = [("string", (1, 2), [3, 4], {5: 6, 7: 8})] * 100000
p = PrettyPrinter()
t1 = time.perf_counter()
- _safe_repr(object, {}, None, 0, True)
+ _safe_repr(object, {}, None, 0, True)
t2 = time.perf_counter()
p.pformat(object)
t3 = time.perf_counter()