summaryrefslogtreecommitdiff
path: root/coverage/files.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/files.py')
-rw-r--r--coverage/files.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/coverage/files.py b/coverage/files.py
index e3ebd6ce..d2742a39 100644
--- a/coverage/files.py
+++ b/coverage/files.py
@@ -67,6 +67,20 @@ def canonical_filename(filename):
return CANONICAL_FILENAME_CACHE[filename]
+def flat_rootname(filename):
+ """A base for a flat filename to correspond to this file.
+
+ Useful for writing files about the code where you want all the files in
+ the same directory, but need to differentiate same-named files from
+ different directories.
+
+ For example, the file a/b/c.py will return 'a_b_c_py'
+
+ """
+ name = os.path.splitdrive(filename)[1]
+ return re.sub(r"[\\/.:]", "_", name)
+
+
if env.WINDOWS:
_ACTUAL_PATH_CACHE = {}