mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
38 lines
994 B
Python
Executable File
38 lines
994 B
Python
Executable File
#!/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())
|