Change the "__ private" names to "_ protected"; this has been a pain for

subclassing so many times it should simply be changed.
This commit is contained in:
Fred Drake 2002-07-08 12:28:06 +00:00
parent 1695bcb848
commit e6691efa0f
1 changed files with 31 additions and 31 deletions

View File

@ -98,20 +98,20 @@ class PrettyPrinter:
assert indent >= 0
assert depth is None or depth > 0, "depth must be > 0"
assert width
self.__depth = depth
self.__indent_per_level = indent
self.__width = width
self._depth = depth
self._indent_per_level = indent
self._width = width
if stream is not None:
self.__stream = stream
self._stream = stream
else:
self.__stream = sys.stdout
self._stream = sys.stdout
def pprint(self, object):
self.__stream.write(self.pformat(object) + "\n")
self._stream.write(self.pformat(object) + "\n")
def pformat(self, object):
sio = StringIO()
self.__format(object, sio, 0, 0, {}, 0)
self._format(object, sio, 0, 0, {}, 0)
return sio.getvalue()
def isrecursive(self, object):
@ -121,43 +121,43 @@ class PrettyPrinter:
s, readable, recursive = self.format(object, {}, 0)
return readable and not recursive
def __format(self, object, stream, indent, allowance, context, level):
def _format(self, object, stream, indent, allowance, context, level):
level = level + 1
objid = _id(object)
if objid in context:
stream.write(_recursion(object))
self.__recursive = True
self.__readable = False
self._recursive = True
self._readable = False
return
rep = self.__repr(object, context, level - 1)
rep = self._repr(object, context, level - 1)
typ = _type(object)
sepLines = _len(rep) > (self.__width - 1 - indent - allowance)
sepLines = _len(rep) > (self._width - 1 - indent - allowance)
write = stream.write
if sepLines:
if typ is DictType:
write('{')
if self.__indent_per_level > 1:
write((self.__indent_per_level - 1) * ' ')
if self._indent_per_level > 1:
write((self._indent_per_level - 1) * ' ')
length = _len(object)
if length:
context[objid] = 1
indent = indent + self.__indent_per_level
indent = indent + self._indent_per_level
items = object.items()
items.sort()
key, ent = items[0]
rep = self.__repr(key, context, level)
rep = self._repr(key, context, level)
write(rep)
write(': ')
self.__format(ent, stream, indent + _len(rep) + 2,
self._format(ent, stream, indent + _len(rep) + 2,
allowance + 1, context, level)
if length > 1:
for key, ent in items[1:]:
rep = self.__repr(key, context, level)
rep = self._repr(key, context, level)
write(',\n%s%s: ' % (' '*indent, rep))
self.__format(ent, stream, indent + _len(rep) + 2,
self._format(ent, stream, indent + _len(rep) + 2,
allowance + 1, context, level)
indent = indent - self.__indent_per_level
indent = indent - self._indent_per_level
del context[objid]
write('}')
return
@ -169,20 +169,20 @@ class PrettyPrinter:
else:
write('(')
endchar = ')'
if self.__indent_per_level > 1:
write((self.__indent_per_level - 1) * ' ')
if self._indent_per_level > 1:
write((self._indent_per_level - 1) * ' ')
length = _len(object)
if length:
context[objid] = 1
indent = indent + self.__indent_per_level
self.__format(object[0], stream, indent, allowance + 1,
context, level)
indent = indent + self._indent_per_level
self._format(object[0], stream, indent, allowance + 1,
context, level)
if length > 1:
for ent in object[1:]:
write(',\n' + ' '*indent)
self.__format(ent, stream, indent,
self._format(ent, stream, indent,
allowance + 1, context, level)
indent = indent - self.__indent_per_level
indent = indent - self._indent_per_level
del context[objid]
if typ is TupleType and length == 1:
write(',')
@ -191,13 +191,13 @@ class PrettyPrinter:
write(rep)
def __repr(self, object, context, level):
def _repr(self, object, context, level):
repr, readable, recursive = self.format(object, context.copy(),
self.__depth, level)
self._depth, level)
if not readable:
self.__readable = False
self._readable = False
if recursive:
self.__recursive = True
self._recursive = True
return repr
def format(self, object, context, maxlevels, level):