blob: 6c914027016b770d550fe9454deb4de4e8bd0e3b [file] [log] [blame]
#!/usr/bin/python
# Copyright 2014 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# A simple template processing script.
import optparse
import os
import sys
parser = optparse.OptionParser()
parser.add_option('-i', '--input')
parser.add_option('-o', '--output')
parser.add_option(
'-k', '--keyword_substitution', action='append', nargs=2,
metavar=('KEY', 'VALUE'), help='Changes KEY to VALUE in the template.')
parser.add_option(
'-p', '--path_substitution', action='append', nargs=2,
metavar=('KEY', 'PATH'),
help='Makes PATH absolute then changes KEY to PATH in the template.')
(args, _) = parser.parse_args()
input = sys.stdin
if args.input:
input = open(args.input, 'r')
output = sys.stdout
if args.output:
output = open(args.output, 'w')
path_subs = None
if args.path_substitution:
path_subs = [
[sub[0], os.path.abspath(sub[1])] for sub in args.path_substitution
]
for line in input:
if args.keyword_substitution:
for (key, value) in args.keyword_substitution:
line = line.replace(key, value)
if path_subs:
for (key, path) in path_subs:
line = line.replace(key, path)
output.write(line)
input.close()
output.close()