[Python-checkins] CVS: python/dist/src/Lib pprint.py,1.19,1.20
Fred L. Drake
fdrake@users.sourceforge.net
Mon, 01 Apr 2002 21:08:38 -0800
Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv16772/Lib
Modified Files:
pprint.py
Log Message:
Add an experimental mechanism to support extending the pprint formatting.
Partly responds to SF bug #505152.
Index: pprint.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/pprint.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** pprint.py 28 Nov 2001 05:49:39 -0000 1.19
--- pprint.py 2 Apr 2002 05:08:35 -0000 1.20
***************
*** 116,128 ****
def isrecursive(self, object):
! self.__recursive = 0
! self.__repr(object, {}, 0)
! return self.__recursive
def isreadable(self, object):
! self.__recursive = 0
! self.__readable = 1
! self.__repr(object, {}, 0)
! return self.__readable and not self.__recursive
def __format(self, object, stream, indent, allowance, context, level):
--- 116,124 ----
def isrecursive(self, object):
! return self.format(object, {}, 0)[2]
def isreadable(self, object):
! s, readable, recursive = self.format(object, {}, 0)
! return readable and not recursive
def __format(self, object, stream, indent, allowance, context, level):
***************
*** 197,202 ****
def __repr(self, object, context, level):
! repr, readable, recursive = _safe_repr(object, context,
! self.__depth, level)
if not readable:
self.__readable = 0
--- 193,198 ----
def __repr(self, object, context, level):
! repr, readable, recursive = self.format(object, context.copy(),
! self.__depth, level)
if not readable:
self.__readable = 0
***************
*** 204,207 ****
--- 200,211 ----
self.__recursive = 1
return repr
+
+ def format(self, object, context, maxlevels, level):
+ """Format object for a specific context, returning a string
+ and flags indicating whether the representation is 'readable'
+ and whether the object represents a recursive construct.
+ """
+ return _safe_repr(object, context, maxlevels, level)
+
# Return triple (repr_string, isreadable, isrecursive).