diff options
author | Georg Brandl <georg@python.org> | 2010-07-30 15:01:23 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-07-30 15:01:23 (GMT) |
commit | d2fd4cae8e7a2ebd3e18a6640b4558131b9a0fb7 (patch) | |
tree | c8b1b1c55668b18c1bc0432caf972b36b419c06c | |
parent | 6cccb865d1e757b1ddd5ca735cfd5fccc64d501a (diff) | |
download | cpython-d2fd4cae8e7a2ebd3e18a6640b4558131b9a0fb7.zip cpython-d2fd4cae8e7a2ebd3e18a6640b4558131b9a0fb7.tar.gz cpython-d2fd4cae8e7a2ebd3e18a6640b4558131b9a0fb7.tar.bz2 |
Add Breakpoint.bpformat(), which returns the info usually printed by bpprint(). Necessary for major refactoring of pdb output handling.
-rw-r--r-- | Doc/library/bdb.rst | 12 | ||||
-rw-r--r-- | Lib/bdb.py | 23 |
2 files changed, 24 insertions, 11 deletions
diff --git a/Doc/library/bdb.rst b/Doc/library/bdb.rst index c35e813..9352101 100644 --- a/Doc/library/bdb.rst +++ b/Doc/library/bdb.rst @@ -50,9 +50,10 @@ The :mod:`bdb` module also defines two classes: Mark the breakpoint as disabled. - .. method:: bpprint(out=None) + .. method:: bpformat() - Print all the information about the breakpoint: + Return a string with all the information about the breakpoint, nicely + formatted: * The breakpoint number. * If it is temporary or not. @@ -61,6 +62,13 @@ The :mod:`bdb` module also defines two classes: * If it must be ignored the next N times. * The breakpoint hit count. + .. versionadded:: 3.2 + + .. method:: bpprint(out=None) + + Print the output of :meth:`bpformat` to the file *out*, or if it is + ``None``, to standard output. + .. class:: Bdb(skip=None) @@ -499,6 +499,9 @@ class Breakpoint: def bpprint(self, out=None): if out is None: out = sys.stdout + print(self.bpformat(), file=out) + + def bpformat(self): if self.temporary: disp = 'del ' else: @@ -507,17 +510,19 @@ class Breakpoint: disp = disp + 'yes ' else: disp = disp + 'no ' - print('%-4dbreakpoint %s at %s:%d' % (self.number, disp, - self.file, self.line), file=out) + ret = '%-4dbreakpoint %s at %s:%d' % (self.number, disp, + self.file, self.line) if self.cond: - print('\tstop only if %s' % (self.cond,), file=out) + ret += '\n\tstop only if %s' % (self.cond,) if self.ignore: - print('\tignore next %d hits' % (self.ignore), file=out) - if (self.hits): - if (self.hits > 1): ss = 's' - else: ss = '' - print(('\tbreakpoint already hit %d time%s' % - (self.hits, ss)), file=out) + ret += '\n\tignore next %d hits' % (self.ignore,) + if self.hits: + if self.hits > 1: + ss = 's' + else: + ss = '' + ret += '\n\tbreakpoint already hit %d time%s' % (self.hits, ss) + return ret def __str__(self): return 'breakpoint %s at %s:%s' % (self.number, self.file, self.line) |