[PATCH 4 of 4] dispatch: assign I/O descriptors from the request to the ui
Idan Kamara
idankk86 at gmail.com
Mon Jun 13 22:09:12 UTC 2011
# HG changeset patch
# User Idan Kamara <idankk86 at gmail.com>
# Date 1307534087 -10800
# Node ID dcd38831d7d420304d79dcbf761a6ea4b8d1edcb
# Parent 4ea060fac57cb5a185b463c40d17eeb580745c8c
dispatch: assign I/O descriptors from the request to the ui
diff -r 4ea060fac57c -r dcd38831d7d4 mercurial/dispatch.py
--- a/mercurial/dispatch.py Wed Jun 08 01:39:20 2011 +0300
+++ b/mercurial/dispatch.py Wed Jun 08 14:54:47 2011 +0300
@@ -28,23 +28,39 @@
def dispatch(req):
"run the command specified in req.args"
+ if req.ferr:
+ ferr = req.ferr
+ elif req.ui:
+ ferr = req.ui.ferr
+ else:
+ ferr = sys.stderr
+
try:
if not req.ui:
req.ui = uimod.ui()
if '--traceback' in req.args:
req.ui.setconfig('ui', 'traceback', 'on')
+
+ # set ui streams from the request
+ if req.fin:
+ req.ui.fin = req.fin
+ if req.fout:
+ req.ui.fout = req.fout
+ if req.ferr:
+ req.ui.ferr = req.ferr
except util.Abort, inst:
- sys.stderr.write(_("abort: %s\n") % inst)
+ ferr.write(_("abort: %s\n") % inst)
if inst.hint:
- sys.stderr.write(_("(%s)\n") % inst.hint)
+ ferr.write(_("(%s)\n") % inst.hint)
return -1
except error.ParseError, inst:
if len(inst.args) > 1:
- sys.stderr.write(_("hg: parse error at %s: %s\n") %
+ ferr.write(_("hg: parse error at %s: %s\n") %
(inst.args[1], inst.args[0]))
else:
- sys.stderr.write(_("hg: parse error: %s\n") % inst.args[0])
+ ferr.write(_("hg: parse error: %s\n") % inst.args[0])
return -1
+
return _runcatch(req)
def _runcatch(req):
More information about the Mercurial-devel
mailing list