summaryrefslogtreecommitdiff
path: root/coverage/files.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-08-09 09:48:51 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-08-09 09:48:51 -0400
commit9b685f291dee3f23785a0ab3dff4e413ea98f0da (patch)
tree98bb93741b7e0226394fc3962b1970c49b07c2d5 /coverage/files.py
parent86d6a54b93c92722c46796cae54b63eed9a6afd6 (diff)
downloadpython-coveragepy-9b685f291dee3f23785a0ab3dff4e413ea98f0da.tar.gz
Move flat_rootname from FileReporter to a utility function.
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 e3ebd6c..d2742a3 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 = {}