| 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 |