--- a/eric7/DebugClients/Python/coverage/plugin.py Fri Nov 19 19:28:47 2021 +0100 +++ b/eric7/DebugClients/Python/coverage/plugin.py Sat Nov 20 16:47:38 2021 +0100 @@ -116,7 +116,7 @@ from coverage.misc import contract, _needs_to_implement -class CoveragePlugin(object): +class CoveragePlugin: """Base class for coverage.py plug-ins.""" def file_tracer(self, filename): # pylint: disable=unused-argument @@ -232,7 +232,7 @@ return [] -class FileTracer(object): +class FileTracer: """Support needed for files during the execution phase. File tracer plug-ins implement subclasses of FileTracer to return from @@ -315,7 +315,7 @@ return lineno, lineno -class FileReporter(object): +class FileReporter: """Support needed for files during the analysis and reporting phases. File tracer plug-ins implement a subclass of `FileReporter`, and return @@ -359,12 +359,12 @@ Returns a Unicode string. The base implementation simply reads the `self.filename` file and - decodes it as UTF8. Override this method if your file isn't readable + decodes it as UTF-8. Override this method if your file isn't readable as a text file, or if you need other encoding support. """ with open(self.filename, "rb") as f: - return f.read().decode("utf8") + return f.read().decode("utf-8") def lines(self): """Get the executable lines in this file. @@ -476,7 +476,7 @@ to {end}". """ - return "Line {start} didn't jump to line {end}".format(start=start, end=end) + return f"Line {start} didn't jump to line {end}" def source_token_lines(self): """Generate a series of tokenized lines, one for each line in `source`.