OLD | NEW |
| (Empty) |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 import os | |
6 | |
7 | |
8 def MergeFiles(dest_file, source_files): | |
9 """Merge list of files into single destination file. | |
10 | |
11 Args: | |
12 dest_file: File to be written to. | |
13 source_files: List of files to be merged. Will be merged in the order they | |
14 appear in the list. | |
15 """ | |
16 if not os.path.exists(os.path.dirname(dest_file)): | |
17 os.makedirs(os.path.dirname(dest_file)) | |
18 try: | |
19 with open(dest_file, 'w') as dest_f: | |
20 for source_file in source_files: | |
21 with open(source_file, 'r') as source_f: | |
22 dest_f.write(source_f.read()) | |
23 except Exception as e: # pylint: disable=broad-except | |
24 # Something went wrong when creating dest_file. Cleaning up. | |
25 try: | |
26 os.remove(dest_file) | |
27 except OSError: | |
28 pass | |
29 raise e | |
30 | |
31 | |
OLD | NEW |