Show More
@@ -12,7 +12,10 b' from node import hex' | |||
|
12 | 12 | |
|
13 | 13 | class ui(object): |
|
14 | 14 | def __init__(self, src=None): |
|
15 | # _buffers: used for temporary capture of output | |
|
15 | 16 | self._buffers = [] |
|
17 | # _bufferstates: Should the temporary capture includes stderr | |
|
18 | self._bufferstates = [] | |
|
16 | 19 | self.quiet = self.verbose = self.debugflag = self.tracebackflag = False |
|
17 | 20 | self._reportuntrusted = True |
|
18 | 21 | self._ocfg = config.config() # overlay |
@@ -471,8 +474,12 b' class ui(object):' | |||
|
471 | 474 | path = self.config('paths', default) |
|
472 | 475 | return path or loc |
|
473 | 476 | |
|
474 | def pushbuffer(self): | |
|
477 | def pushbuffer(self, error=False): | |
|
478 | """install a buffer to capture standar output of the ui object | |
|
479 | ||
|
480 | If error is True, the error output will be captured too.""" | |
|
475 | 481 | self._buffers.append([]) |
|
482 | self._bufferstates.append(error) | |
|
476 | 483 | |
|
477 | 484 | def popbuffer(self, labeled=False): |
|
478 | 485 | '''pop the last buffer and return the buffered output |
@@ -484,6 +491,7 b' class ui(object):' | |||
|
484 | 491 | is being buffered so it can be captured and parsed or |
|
485 | 492 | processed, labeled should not be set to True. |
|
486 | 493 | ''' |
|
494 | self._bufferstates.pop() | |
|
487 | 495 | return "".join(self._buffers.pop()) |
|
488 | 496 | |
|
489 | 497 | def write(self, *args, **opts): |
@@ -511,6 +519,8 b' class ui(object):' | |||
|
511 | 519 | |
|
512 | 520 | def write_err(self, *args, **opts): |
|
513 | 521 | try: |
|
522 | if self._bufferstates and self._bufferstates[-1]: | |
|
523 | return self.write(*args, **opts) | |
|
514 | 524 | if not getattr(self.fout, 'closed', False): |
|
515 | 525 | self.fout.flush() |
|
516 | 526 | for a in args: |
General Comments 0
You need to be logged in to leave comments.
Login now