Skip to content
Snippets Groups Projects
Commit fe6be566 authored by Greg Wilson's avatar Greg Wilson
Browse files

Getting rid of ugly hack

parent 88f3473d
Branches
Tags
No related merge requests found
#!/usr/bin/env python
import sys
from optparse import OptionParser
def main():
'''Main driver.'''
parser = OptionParser()
parser.add_option('-o', '--opening',
default=None, dest='opening', help='Header string')
parser.add_option('-c', '--closing',
default=None, dest='closing', help='Footer string')
args, extras = parser.parse_args()
assert args.opening and args.closing, \
'Must specify opening (-o) and closing (-c) delimiters'
opening = closing = None
bodies = []
if not extras:
opening, content, closing = extract(args, sys.stdin)
else:
for filename in extras:
with open(filename, 'r') as reader:
o, content, c = extract(args, reader)
if opening is None:
opening = o
closing = c
bodies.append(content)
display(opening, *bodies, closing)
def extract(args, reader):
'''Extract content from named file.'''
data = reader.read()
i_opening = data.find(args.opening) + len(args.opening)
i_closing = data.rfind(args.closing)
return data[:i_opening], data[i_opening:i_closing], data[i_closing:]
def display(*blocks):
'''Display all the text.'''
for b in blocks:
print(b)
if __name__ == '__main__':
main()
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment