From 16682db69e225ab7d8c321fc2ae99ec690675dc6 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 24 Jan 2015 22:21:21 -0500 Subject: Move flat_rootname to the base class --- coverage/plugin.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'coverage/plugin.py') diff --git a/coverage/plugin.py b/coverage/plugin.py index c80a1a2..32d654e 100644 --- a/coverage/plugin.py +++ b/coverage/plugin.py @@ -1,5 +1,7 @@ """Plugin interfaces for coverage.py""" +import re + from coverage.misc import _needs_to_implement @@ -206,10 +208,14 @@ class FileReporter(object): return False def flat_rootname(self): + """A base for a flat filename to correspond to this code unit. + + 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' + + """ # TODO: a better generic implementation? - return ( - self.filename - .replace('\\', '_') - .replace('/', '_') - .replace('.', '_') - ) + return re.sub(r"[\/.:]", "_", self.name) -- cgit v1.2.1