# HG changeset patch # User Matt Mackall # Date 2012-05-20 19:31:56 # Node ID 2d432a1fc0db1db268503c54aa6a74519074d9f4 # Parent 5b1f869b5548e06a79648be96c40760d5e21e1a4 ui: add _isatty method to easily disable cooked I/O diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -492,6 +492,11 @@ class ui(object): try: self.ferr.flush() except (IOError, ValueError): pass + def _isatty(self, fh): + if self.configbool('ui', 'nontty', False): + return False + return util.isatty(fh) + def interactive(self): '''is interactive input allowed? @@ -510,7 +515,7 @@ class ui(object): if i is None: # some environments replace stdin without implementing isatty # usually those are non-interactive - return util.isatty(self.fin) + return self._isatty(self.fin) return i @@ -548,12 +553,12 @@ class ui(object): if i is None: # some environments replace stdout without implementing isatty # usually those are non-interactive - return util.isatty(self.fout) + return self._isatty(self.fout) return i def _readline(self, prompt=''): - if util.isatty(self.fin): + if self._isatty(self.fin): try: # magically add command line editing support, where # available