comparison textshaper/quote.py @ 26:c23782a7b7ba

more hookups, yo
author Jeff Hammel <k0scist@gmail.com>
date Sun, 23 Feb 2014 11:41:37 -0800
parents a43d0ad17c29
children 4aba57a33376
comparison
equal deleted inserted replaced
25:a43d0ad17c29 26:c23782a7b7ba
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*- 2 # -*- coding: utf-8 -*-
3 3
4 """ 4 """
5 split some lines 5 quote some lines
6 """ 6 """
7 7
8 import argparse 8 import argparse
9 import os 9 import os
10 import sys 10 import sys
11 11
12 def quotelines(text, quote="'", close_quote=None):
13 """
14 individually quote each line of text
15
16 quote -- quote character to use
17 close_quote -- closing quote character, if different from opening quote
18 """
19
20 if close_quote is None:
21 close_quote = quote
22 return ["{}{}{}".format(quote, line, close_quote) for line in lines]
23
24
12 def main(args=sys.argv[1:]): 25 def main(args=sys.argv[1:]):
26 """CLI"""
13 27
14 parser = argparse.ArgumentParser(description=__doc__) 28 parser = argparse.ArgumentParser(description=__doc__)
15 parser.add_argument('input', nargs='?', 29 parser.add_argument('input', nargs='?',
16 type=argparse.FileType('r'), default=sys.stdin, 30 type=argparse.FileType('r'), default=sys.stdin,
17 help='input file, or read from stdin if ommitted') 31 help='input file, or read from stdin if ommitted')
18 parser.add_argument('--quote', dest='quote',
19 action='store_true', default=False)
20 options = parser.parse_args(args) 32 options = parser.parse_args(args)
21 33
22 read = options.input.read() 34 lines = quotelines(options.input)
23
24 lines = read.strip().split()
25 if options.quote:
26 lines = ["'{}'".format(line) for line in lines]
27 35
28 print '\n'.join(lines) 36 print '\n'.join(lines)
29 37
30 if __name__ == '__main__': 38 if __name__ == '__main__':
31 main() 39 main()