mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
util: add helper function isatty(fd) to check for tty-ness
This commit is contained in:
parent
ef568e7358
commit
02f21a70dc
@ -60,7 +60,7 @@ from mercurial.i18n import _
|
||||
def _runpager(p):
|
||||
if not hasattr(os, 'fork'):
|
||||
sys.stdout = util.popen(p, 'wb')
|
||||
if sys.stderr.isatty():
|
||||
if util.isatty(sys.stderr):
|
||||
sys.stderr = sys.stdout
|
||||
return
|
||||
fdin, fdout = os.pipe()
|
||||
@ -68,7 +68,7 @@ def _runpager(p):
|
||||
if pid == 0:
|
||||
os.close(fdin)
|
||||
os.dup2(fdout, sys.stdout.fileno())
|
||||
if sys.stderr.isatty():
|
||||
if util.isatty(sys.stderr):
|
||||
os.dup2(fdout, sys.stderr.fileno())
|
||||
os.close(fdout)
|
||||
return
|
||||
@ -86,12 +86,13 @@ def _runpager(p):
|
||||
raise
|
||||
|
||||
def uisetup(ui):
|
||||
if ui.plain():
|
||||
if ui.plain() or '--debugger' in sys.argv or not util.isatty(sys.stdout):
|
||||
return
|
||||
|
||||
def pagecmd(orig, ui, options, cmd, cmdfunc):
|
||||
p = ui.config("pager", "pager", os.environ.get("PAGER"))
|
||||
if p and sys.stdout.isatty() and '--debugger' not in sys.argv:
|
||||
|
||||
if p:
|
||||
attend = ui.configlist('pager', 'attend', attended)
|
||||
auto = options['pager'] == 'auto'
|
||||
always = util.parsebool(options['pager'])
|
||||
|
@ -46,14 +46,14 @@ characters.
|
||||
import sys
|
||||
import time
|
||||
|
||||
from mercurial import util
|
||||
from mercurial.i18n import _
|
||||
|
||||
def spacejoin(*args):
|
||||
return ' '.join(s for s in args if s)
|
||||
|
||||
def shouldprint(ui):
|
||||
return (getattr(sys.stderr, 'isatty', None) and
|
||||
(sys.stderr.isatty() or ui.configbool('progress', 'assume-tty')))
|
||||
return (util.isatty(sys.stderr) or ui.configbool('progress', 'assume-tty'))
|
||||
|
||||
def fmtremaining(seconds):
|
||||
if seconds < 60:
|
||||
|
@ -473,12 +473,9 @@ class ui(object):
|
||||
'''
|
||||
i = self.configbool("ui", "interactive", None)
|
||||
if i is None:
|
||||
try:
|
||||
return sys.stdin.isatty()
|
||||
except AttributeError:
|
||||
# some environments replace stdin without implementing isatty
|
||||
# usually those are non-interactive
|
||||
return False
|
||||
# some environments replace stdin without implementing isatty
|
||||
# usually those are non-interactive
|
||||
return util.isatty(sys.stdin)
|
||||
|
||||
return i
|
||||
|
||||
@ -514,17 +511,14 @@ class ui(object):
|
||||
|
||||
i = self.configbool("ui", "formatted", None)
|
||||
if i is None:
|
||||
try:
|
||||
return sys.stdout.isatty()
|
||||
except AttributeError:
|
||||
# some environments replace stdout without implementing isatty
|
||||
# usually those are non-interactive
|
||||
return False
|
||||
# some environments replace stdout without implementing isatty
|
||||
# usually those are non-interactive
|
||||
return util.isatty(sys.stdout)
|
||||
|
||||
return i
|
||||
|
||||
def _readline(self, prompt=''):
|
||||
if sys.stdin.isatty():
|
||||
if util.isatty(sys.stdin):
|
||||
try:
|
||||
# magically add command line editing support, where
|
||||
# available
|
||||
|
@ -1591,3 +1591,9 @@ def removeauth(u):
|
||||
u = url(u)
|
||||
u.user = u.passwd = None
|
||||
return str(u)
|
||||
|
||||
def isatty(fd):
|
||||
try:
|
||||
return fd.isatty()
|
||||
except AttributeError:
|
||||
return False
|
||||
|
Loading…
Reference in New Issue
Block a user