Mercurial > public > mercurial-scm > hg
comparison mercurial/ui.py @ 14515:76f295eaed86
util: add helper function isatty(fd) to check for tty-ness
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Thu, 02 Jun 2011 00:43:34 +0300 |
parents | a599431b0ab6 |
children | 4e1ccd4c2b6d |
comparison
equal
deleted
inserted
replaced
14514:175e4b9d8a96 | 14515:76f295eaed86 |
---|---|
471 | 471 |
472 This function refers to input only; for output, see `ui.formatted()'. | 472 This function refers to input only; for output, see `ui.formatted()'. |
473 ''' | 473 ''' |
474 i = self.configbool("ui", "interactive", None) | 474 i = self.configbool("ui", "interactive", None) |
475 if i is None: | 475 if i is None: |
476 try: | 476 # some environments replace stdin without implementing isatty |
477 return sys.stdin.isatty() | 477 # usually those are non-interactive |
478 except AttributeError: | 478 return util.isatty(sys.stdin) |
479 # some environments replace stdin without implementing isatty | |
480 # usually those are non-interactive | |
481 return False | |
482 | 479 |
483 return i | 480 return i |
484 | 481 |
485 def termwidth(self): | 482 def termwidth(self): |
486 '''how wide is the terminal in columns? | 483 '''how wide is the terminal in columns? |
512 if self.plain(): | 509 if self.plain(): |
513 return False | 510 return False |
514 | 511 |
515 i = self.configbool("ui", "formatted", None) | 512 i = self.configbool("ui", "formatted", None) |
516 if i is None: | 513 if i is None: |
517 try: | 514 # some environments replace stdout without implementing isatty |
518 return sys.stdout.isatty() | 515 # usually those are non-interactive |
519 except AttributeError: | 516 return util.isatty(sys.stdout) |
520 # some environments replace stdout without implementing isatty | |
521 # usually those are non-interactive | |
522 return False | |
523 | 517 |
524 return i | 518 return i |
525 | 519 |
526 def _readline(self, prompt=''): | 520 def _readline(self, prompt=''): |
527 if sys.stdin.isatty(): | 521 if util.isatty(sys.stdin): |
528 try: | 522 try: |
529 # magically add command line editing support, where | 523 # magically add command line editing support, where |
530 # available | 524 # available |
531 import readline | 525 import readline |
532 # force demandimport to really load the module | 526 # force demandimport to really load the module |