eric6/DebugClients/Python/coverage/annotate.py

changeset 7427
362cd1b6f81a
parent 6942
2602857055c5
diff -r dc171b1d8261 -r 362cd1b6f81a eric6/DebugClients/Python/coverage/annotate.py
--- a/eric6/DebugClients/Python/coverage/annotate.py	Wed Feb 19 19:38:36 2020 +0100
+++ b/eric6/DebugClients/Python/coverage/annotate.py	Sat Feb 22 14:27:42 2020 +0100
@@ -1,5 +1,5 @@
 # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
-# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
 
 """Source file annotation for coverage.py."""
 
@@ -8,13 +8,13 @@
 import re
 
 from coverage.files import flat_rootname
-from coverage.misc import isolate_module
-from coverage.report import Reporter
+from coverage.misc import ensure_dir, isolate_module
+from coverage.report import get_analysis_to_report
 
 os = isolate_module(os)
 
 
-class AnnotateReporter(Reporter):
+class AnnotateReporter(object):
     """Generate annotated source files showing line coverage.
 
     This reporter creates annotated copies of the measured source files. Each
@@ -36,8 +36,9 @@
 
     """
 
-    def __init__(self, coverage, config):
-        super(AnnotateReporter, self).__init__(coverage, config)
+    def __init__(self, coverage):
+        self.coverage = coverage
+        self.config = self.coverage.config
         self.directory = None
 
     blank_re = re.compile(r"\s*(#|$)")
@@ -49,7 +50,10 @@
         See `coverage.report()` for arguments.
 
         """
-        self.report_files(self.annotate_file, morfs, directory)
+        self.directory = directory
+        self.coverage.get_data()
+        for fr, analysis in get_analysis_to_report(self.coverage, morfs):
+            self.annotate_file(fr, analysis)
 
     def annotate_file(self, fr, analysis):
         """Annotate a single file.
@@ -62,6 +66,7 @@
         excluded = sorted(analysis.excluded)
 
         if self.directory:
+            ensure_dir(self.directory)
             dest_file = os.path.join(self.directory, flat_rootname(fr.relative_filename()))
             if dest_file.endswith("_py"):
                 dest_file = dest_file[:-3] + ".py"

eric ide

mercurial