##// END OF EJS Templates
py3: bulk replace sys.stdin/out/err by util's...
Yuya Nishihara -
r30473:39d13b8c default
parent child Browse files
Show More
@@ -232,7 +232,7 b' def _newchgui(srcui, csystem):'
232 232 # these situations and will behave differently (write to stdout).
233 233 if (any(s[1] for s in self._bufferstates)
234 234 or not util.safehasattr(self.fout, 'fileno')
235 or self.fout.fileno() != sys.stdout.fileno()):
235 or self.fout.fileno() != util.stdout.fileno()):
236 236 return super(chgui, self).system(cmd, environ, cwd, onerr,
237 237 errprefix)
238 238 # copied from mercurial/util.py:system()
@@ -84,19 +84,19 b" testedwith = 'ships-with-hg-core'"
84 84 def _runpager(ui, p):
85 85 pager = subprocess.Popen(p, shell=True, bufsize=-1,
86 86 close_fds=util.closefds, stdin=subprocess.PIPE,
87 stdout=sys.stdout, stderr=sys.stderr)
87 stdout=util.stdout, stderr=util.stderr)
88 88
89 89 # back up original file objects and descriptors
90 90 olduifout = ui.fout
91 oldstdout = sys.stdout
92 stdoutfd = os.dup(sys.stdout.fileno())
93 stderrfd = os.dup(sys.stderr.fileno())
91 oldstdout = util.stdout
92 stdoutfd = os.dup(util.stdout.fileno())
93 stderrfd = os.dup(util.stderr.fileno())
94 94
95 95 # create new line-buffered stdout so that output can show up immediately
96 ui.fout = sys.stdout = newstdout = os.fdopen(sys.stdout.fileno(), 'wb', 1)
97 os.dup2(pager.stdin.fileno(), sys.stdout.fileno())
98 if ui._isatty(sys.stderr):
99 os.dup2(pager.stdin.fileno(), sys.stderr.fileno())
96 ui.fout = util.stdout = newstdout = os.fdopen(util.stdout.fileno(), 'wb', 1)
97 os.dup2(pager.stdin.fileno(), util.stdout.fileno())
98 if ui._isatty(util.stderr):
99 os.dup2(pager.stdin.fileno(), util.stderr.fileno())
100 100
101 101 @atexit.register
102 102 def killpager():
@@ -104,13 +104,13 b' def _runpager(ui, p):'
104 104 signal.signal(signal.SIGINT, signal.SIG_IGN)
105 105 pager.stdin.close()
106 106 ui.fout = olduifout
107 sys.stdout = oldstdout
107 util.stdout = oldstdout
108 108 # close new stdout while it's associated with pager; otherwise stdout
109 109 # fd would be closed when newstdout is deleted
110 110 newstdout.close()
111 111 # restore original fds: stdout is open again
112 os.dup2(stdoutfd, sys.stdout.fileno())
113 os.dup2(stderrfd, sys.stderr.fileno())
112 os.dup2(stdoutfd, util.stdout.fileno())
113 os.dup2(stderrfd, util.stderr.fileno())
114 114 pager.wait()
115 115
116 116 def uisetup(ui):
@@ -888,8 +888,8 b' def service(opts, parentfn=None, initfn='
888 888 raise error.Abort(_('invalid value for --daemon-postexec: %s')
889 889 % inst)
890 890 util.hidewindow()
891 sys.stdout.flush()
892 sys.stderr.flush()
891 util.stdout.flush()
892 util.stderr.flush()
893 893
894 894 nullfd = os.open(os.devnull, os.O_RDWR)
895 895 logfilefd = nullfd
@@ -15,7 +15,6 b' import select'
15 15 import signal
16 16 import socket
17 17 import struct
18 import sys
19 18 import traceback
20 19
21 20 from .i18n import _
@@ -304,8 +303,8 b' def _protectio(ui):'
304 303 ui.flush()
305 304 newfiles = []
306 305 nullfd = os.open(os.devnull, os.O_RDWR)
307 for f, sysf, mode in [(ui.fin, sys.stdin, 'rb'),
308 (ui.fout, sys.stdout, 'wb')]:
306 for f, sysf, mode in [(ui.fin, util.stdin, 'rb'),
307 (ui.fout, util.stdout, 'wb')]:
309 308 if f is sysf:
310 309 newfd = os.dup(f.fileno())
311 310 os.dup2(nullfd, f.fileno())
@@ -97,7 +97,7 b' def dispatch(req):'
97 97 elif req.ui:
98 98 ferr = req.ui.ferr
99 99 else:
100 ferr = sys.stderr
100 ferr = util.stderr
101 101
102 102 try:
103 103 if not req.ui:
@@ -11,7 +11,6 b''
11 11 from __future__ import absolute_import
12 12
13 13 import os
14 import sys
15 14
16 15 from .. import (
17 16 util,
@@ -22,8 +21,8 b' from . import ('
22 21 )
23 22
24 23 def launch(application):
25 util.setbinary(sys.stdin)
26 util.setbinary(sys.stdout)
24 util.setbinary(util.stdin)
25 util.setbinary(util.stdout)
27 26
28 27 environ = dict(os.environ.iteritems())
29 28 environ.setdefault('PATH_INFO', '')
@@ -33,12 +32,12 b' def launch(application):'
33 32 if environ['PATH_INFO'].startswith(scriptname):
34 33 environ['PATH_INFO'] = environ['PATH_INFO'][len(scriptname):]
35 34
36 stdin = sys.stdin
35 stdin = util.stdin
37 36 if environ.get('HTTP_EXPECT', '').lower() == '100-continue':
38 stdin = common.continuereader(stdin, sys.stdout.write)
37 stdin = common.continuereader(stdin, util.stdout.write)
39 38
40 39 environ['wsgi.input'] = stdin
41 environ['wsgi.errors'] = sys.stderr
40 environ['wsgi.errors'] = util.stderr
42 41 environ['wsgi.version'] = (1, 0)
43 42 environ['wsgi.multithread'] = False
44 43 environ['wsgi.multiprocess'] = True
@@ -51,7 +50,7 b' def launch(application):'
51 50
52 51 headers_set = []
53 52 headers_sent = []
54 out = sys.stdout
53 out = util.stdout
55 54
56 55 def write(data):
57 56 if not headers_set:
@@ -209,11 +209,11 b' def runhooks(ui, repo, name, hooks, thro'
209 209 for hname, cmd in hooks:
210 210 if oldstdout == -1 and _redirect:
211 211 try:
212 stdoutno = sys.stdout.fileno()
213 stderrno = sys.stderr.fileno()
212 stdoutno = util.stdout.fileno()
213 stderrno = util.stderr.fileno()
214 214 # temporarily redirect stdout to stderr, if possible
215 215 if stdoutno >= 0 and stderrno >= 0:
216 sys.stdout.flush()
216 util.stdout.flush()
217 217 oldstdout = os.dup(stdoutno)
218 218 os.dup2(stderrno, stdoutno)
219 219 except (OSError, AttributeError):
@@ -255,10 +255,10 b' def runhooks(ui, repo, name, hooks, thro'
255 255 # The stderr is fully buffered on Windows when connected to a pipe.
256 256 # A forcible flush is required to make small stderr data in the
257 257 # remote side available to the client immediately.
258 sys.stderr.flush()
258 util.stderr.flush()
259 259 finally:
260 260 if _redirect and oldstdout >= 0:
261 sys.stdout.flush() # write hook output to stderr fd
261 util.stdout.flush() # write hook output to stderr fd
262 262 os.dup2(oldstdout, stdoutno)
263 263 os.close(oldstdout)
264 264
@@ -660,14 +660,14 b' def continuity(url):'
660 660 def comp(N, url):
661 661 print(' making %i connections to:\n %s' % (N, url))
662 662
663 sys.stdout.write(' first using the normal urllib handlers')
663 util.stdout.write(' first using the normal urllib handlers')
664 664 # first use normal opener
665 665 opener = urlreq.buildopener()
666 666 urlreq.installopener(opener)
667 667 t1 = fetch(N, url)
668 668 print(' TIME: %.3f s' % t1)
669 669
670 sys.stdout.write(' now using the keepalive handler ')
670 util.stdout.write(' now using the keepalive handler ')
671 671 # now install the keepalive handler and try again
672 672 opener = urlreq.buildopener(HTTPHandler())
673 673 urlreq.installopener(opener)
@@ -712,11 +712,11 b' def test_timeout(url):'
712 712 i = 20
713 713 print(" waiting %i seconds for the server to close the connection" % i)
714 714 while i > 0:
715 sys.stdout.write('\r %2i' % i)
716 sys.stdout.flush()
715 util.stdout.write('\r %2i' % i)
716 util.stdout.flush()
717 717 time.sleep(1)
718 718 i -= 1
719 sys.stderr.write('\r')
719 util.stderr.write('\r')
720 720
721 721 print(" fetching the file a second time")
722 722 fo = urlreq.urlopen(url)
@@ -130,9 +130,9 b' class ui(object):'
130 130
131 131 self.httppasswordmgrdb = src.httppasswordmgrdb
132 132 else:
133 self.fout = sys.stdout
134 self.ferr = sys.stderr
135 self.fin = sys.stdin
133 self.fout = util.stdout
134 self.ferr = util.stderr
135 self.fin = util.stdin
136 136
137 137 # shared read-only environment
138 138 self.environ = os.environ
@@ -986,7 +986,7 b' def system(cmd, environ=None, cwd=None, '
986 986 if environ is None:
987 987 environ = {}
988 988 try:
989 sys.stdout.flush()
989 stdout.flush()
990 990 except Exception:
991 991 pass
992 992 def py2shell(val):
@@ -2759,9 +2759,9 b' def timed(func):'
2759 2759 finally:
2760 2760 elapsed = time.time() - start
2761 2761 _timenesting[0] -= indent
2762 sys.stderr.write('%s%s: %s\n' %
2763 (' ' * _timenesting[0], func.__name__,
2764 timecount(elapsed)))
2762 stderr.write('%s%s: %s\n' %
2763 (' ' * _timenesting[0], func.__name__,
2764 timecount(elapsed)))
2765 2765 return wrapper
2766 2766
2767 2767 _sizeunits = (('m', 2**20), ('k', 2**10), ('g', 2**30),
@@ -2826,7 +2826,7 b" def getstackframes(skip=0, line=' %-*s i"
2826 2826 else:
2827 2827 yield line % (fnmax, fnln, func)
2828 2828
2829 def debugstacktrace(msg='stacktrace', skip=0, f=sys.stderr, otherf=sys.stdout):
2829 def debugstacktrace(msg='stacktrace', skip=0, f=stderr, otherf=stdout):
2830 2830 '''Writes a message to f (stderr) with a nicely formatted stacktrace.
2831 2831 Skips the 'skip' last entries. By default it will flush stdout first.
2832 2832 It can be used everywhere and intentionally does not require an ui object.
@@ -10,7 +10,6 b' from __future__ import absolute_import'
10 10 import hashlib
11 11 import itertools
12 12 import os
13 import sys
14 13 import tempfile
15 14
16 15 from .i18n import _
@@ -575,8 +574,8 b' def options(cmd, keys, others):'
575 574 opts[k] = others[k]
576 575 del others[k]
577 576 if others:
578 sys.stderr.write("warning: %s ignored unexpected arguments %s\n"
579 % (cmd, ",".join(others)))
577 util.stderr.write("warning: %s ignored unexpected arguments %s\n"
578 % (cmd, ",".join(others)))
580 579 return opts
581 580
582 581 def bundle1allowed(repo, action):
@@ -907,11 +906,11 b' def unbundle(repo, proto, heads):'
907 906 try:
908 907 raise
909 908 except error.Abort:
910 # The old code we moved used sys.stderr directly.
909 # The old code we moved used util.stderr directly.
911 910 # We did not change it to minimise code change.
912 911 # This need to be moved to something proper.
913 912 # Feel free to do it.
914 sys.stderr.write("abort: %s\n" % exc)
913 util.stderr.write("abort: %s\n" % exc)
915 914 return pushres(0)
916 915 except error.PushRaced:
917 916 return pusherr(str(exc))
General Comments 0
You need to be logged in to leave comments. Login now