eric7/DebugClients/Python/coverage/python.py

branch
eric7
changeset 8775
0802ae193343
parent 8312
800c432b34c8
child 9099
0e511e0e94a3
--- a/eric7/DebugClients/Python/coverage/python.py	Fri Nov 19 19:28:47 2021 +0100
+++ b/eric7/DebugClients/Python/coverage/python.py	Sat Nov 20 16:47:38 2021 +0100
@@ -7,9 +7,10 @@
 import types
 import zipimport
 
-from coverage import env, files
+from coverage import env
+from coverage.exceptions import CoverageException, NoSource
+from coverage.files import canonical_filename, relative_filename
 from coverage.misc import contract, expensive, isolate_module, join_regex
-from coverage.misc import CoverageException, NoSource
 from coverage.parser import PythonParser
 from coverage.phystokens import source_token_lines, source_encoding
 from coverage.plugin import FileReporter
@@ -56,9 +57,7 @@
             break
     else:
         # Couldn't find source.
-        exc_msg = "No source for code: '%s'.\n" % (filename,)
-        exc_msg += "Aborting report output, consider using -i."
-        raise NoSource(exc_msg)
+        raise NoSource(f"No source for code: '{filename}'.")
 
     # Replace \f because of http://bugs.python.org/issue19035
     source = source.replace(b'\f', b' ')
@@ -90,7 +89,7 @@
                 continue
             try:
                 data = zi.get_data(parts[1])
-            except IOError:
+            except OSError:
                 continue
             return data
     return None
@@ -136,11 +135,11 @@
     elif isinstance(morf, types.ModuleType):
         # A module should have had .__file__, otherwise we can't use it.
         # This could be a PEP-420 namespace package.
-        raise CoverageException("Module {} has no file".format(morf))
+        raise CoverageException(f"Module {morf} has no file")
     else:
         filename = morf
 
-    filename = source_for_file(files.unicode_filename(filename))
+    filename = source_for_file(filename)
     return filename
 
 
@@ -152,16 +151,15 @@
 
         filename = source_for_morf(morf)
 
-        super(PythonFileReporter, self).__init__(files.canonical_filename(filename))
+        super().__init__(canonical_filename(filename))
 
         if hasattr(morf, '__name__'):
             name = morf.__name__.replace(".", os.sep)
             if os.path.basename(filename).startswith('__init__.'):
                 name += os.sep + "__init__"
             name += ".py"
-            name = files.unicode_filename(name)
         else:
-            name = files.relative_filename(filename)
+            name = relative_filename(filename)
         self.relname = name
 
         self._source = None
@@ -169,7 +167,7 @@
         self._excluded = None
 
     def __repr__(self):
-        return "<PythonFileReporter {!r}>".format(self.filename)
+        return f"<PythonFileReporter {self.filename!r}>"
 
     @contract(returns='unicode')
     def relative_filename(self):

eric ide

mercurial