Mercurial > hg > config
diff python/is_interactive.py @ 346:7eaaf99e3182
dammit
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Mon, 24 Jun 2013 16:06:24 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/is_interactive.py Mon Jun 24 16:06:24 2013 -0700 @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +""" +illustrates usage of isatty + +Ref: http://www.tutorialspoint.com/python/file_isatty.htm +""" + +import optparse +import os +import sys + +# DOES NOT WORK! :( +# > echo 'foo' | is_interactive.py +# Usage: is_interactive.py [options] + +# is_interactive.py: error: missing input + + +def main(args=sys.argv[1:]): + parser = optparse.OptionParser() + options, args = parser.parse_args(args) + + function = str.upper + + if args: + # take input from command line args + input = ' '.join(args) + elif not sys.stderr.isatty(): + # take input from stdin + input = sys.stdin.read() + else: + # no input! cry! + parser.error("missing input") + + print function(input) + +if __name__ == '__main__': + main()