blob: de70a82cf6cf0c5289dd5b081ee40fbe9b6bd502 [file] [log] [blame]
#!/usr/bin/env python
#
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
Prepends a given file with a given line. This can be used to add a shebang line
to a generated file.
"""
import optparse
import os
import shutil
import sys
def main():
parser = optparse.OptionParser()
parser.add_option('--input', help='The file to prepend the line to.')
parser.add_option('--line', help='The line to be prepended.')
parser.add_option('--output', help='The output file.')
options, _ = parser.parse_args()
input_path = options.input
output_path = options.output
line = options.line
# Warning - this reads all of the input file into memory.
with open(output_path, 'w') as output_file:
output_file.write(line + '\n')
with open(input_path, 'r') as input_file:
shutil.copyfileobj(input_file, output_file)
if __name__ == '__main__':
sys.exit(main())