# HG changeset patch # User Jeff Hammel # Date 1390066135 28800 # Node ID 4663867029683e7ed674ee4b153372c4d67cb041 # Parent 71fb16088d5456a6fa7844db152febde6bc54cad more stuff diff -r 71fb16088d54 -r 466386702968 textshaper/indent.py --- a/textshaper/indent.py Fri Jan 17 18:17:59 2014 -0800 +++ b/textshaper/indent.py Sat Jan 18 09:28:55 2014 -0800 @@ -39,12 +39,35 @@ index = indentation retval.append(line[index:]) + return retval + + def main(args=sys.argv[1:]): - usage = '%prog [options]' + # parse command line + usage = '%prog [options] [file] [file2] [...]' + description = """indent files or stdin if no files given""" parser = optparse.OptionParser(usage=usage, description=__doc__) - options, args = parser.parse_args(args) + parser.add_option('-o', '--output', dest='output', + help="output file or stdout if not given") + options, files = parser.parse_args(args) + # input from files or stdin + if files: + missing = [not os.path.exists(filename) for filename in files] + if missing: + parser.error("File(s) not found: %s" % ', '.join(missing)) + def _files(): + for filename in files: + with open(f, 'r') as f: + yield f + else: + def _files(): + yield sys.stdin + + # process input + for f in _files(): + print f if __name__ == '__main__': main()