summaryrefslogtreecommitdiff
path: root/coverage/misc.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/misc.py')
-rw-r--r--coverage/misc.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/coverage/misc.py b/coverage/misc.py
index a923829d..59114863 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -8,6 +8,7 @@ import hashlib
import inspect
import locale
import os
+import os.path
import re
import sys
import types
@@ -181,6 +182,20 @@ def file_be_gone(path):
raise
+def ensure_dir(directory):
+ """Make sure the directory exists.
+
+ If `directory` is None or empty, do nothing.
+ """
+ if directory and not os.path.isdir(directory):
+ os.makedirs(directory)
+
+
+def ensure_dir_for_file(path):
+ """Make sure the directory for the path exists."""
+ ensure_dir(os.path.dirname(path))
+
+
def output_encoding(outfile=None):
"""Determine the encoding to use for output written to `outfile` or stdout."""
if outfile is None: