OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import errno | 5 import errno |
6 import os.path | 6 import os.path |
7 | 7 |
8 def EnsureDirectoryExists(path, always_try_to_create=False): | 8 def EnsureDirectoryExists(path, always_try_to_create=False): |
9 """A wrapper for os.makedirs that does not error if the directory already | 9 """A wrapper for os.makedirs that does not error if the directory already |
10 exists. A different process could be racing to create this directory.""" | 10 exists. A different process could be racing to create this directory.""" |
11 | 11 |
12 if not os.path.exists(path) or always_try_to_create: | 12 if not os.path.exists(path) or always_try_to_create: |
13 try: | 13 try: |
14 os.makedirs(path) | 14 os.makedirs(path) |
15 except OSError as e: | 15 except OSError as e: |
16 # There may have been a race to create this directory. | 16 # There may have been a race to create this directory. |
17 if e.errno != errno.EEXIST: | 17 if e.errno != errno.EEXIST: |
18 raise | 18 raise |
OLD | NEW |