Removed some more Python2 related code.

Sat, 27 Jun 2020 12:08:12 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 27 Jun 2020 12:08:12 +0200
changeset 7639
422fd05e9c91
parent 7638
176145438b1e
child 7640
f9bb7c8c60d8

Removed some more Python2 related code.

eric6/DebugClients/Python/AsyncFile.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/BreakpointWatch.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DCTestResult.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugBase.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugClient.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugClientBase.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugClientCapabilities.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugConfig.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugUtilities.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugVariables.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/FlexCompleter.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/PyProfile.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/ThreadExtension.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/eric6dbgstub.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/getpass.py file | annotate | diff | comparison | revisions
eric6/Debugger/Config.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugClientCapabilities.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebuggerInterfacePython.py file | annotate | diff | comparison | revisions
eric6/Debugger/VariablesViewer.py file | annotate | diff | comparison | revisions
eric6/DocumentationTools/Config.py file | annotate | diff | comparison | revisions
eric6/DocumentationTools/__init__.py file | annotate | diff | comparison | revisions
eric6/E5XML/Config.py file | annotate | diff | comparison | revisions
eric6/E5XML/XMLStreamReaderBase.py file | annotate | diff | comparison | revisions
eric6/Globals/__init__.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/ComplexityChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/NamingStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/eradicate.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/mccabe.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/pycodestyle.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/__init__.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/checker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/messages.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/Tabnanny/Tabnanny.py file | annotate | diff | comparison | revisions
eric6/Plugins/PluginCodeStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/PluginTabnanny.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnTagBranchListDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/WebBrowserInterfacePage.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectBrowserFlags.py file | annotate | diff | comparison | revisions
eric6/QScintilla/QsciScintillaCompat.py file | annotate | diff | comparison | revisions
eric6/UI/Config.py file | annotate | diff | comparison | revisions
eric6/UI/DiffDialog.py file | annotate | diff | comparison | revisions
eric6/Utilities/BackgroundClient.py file | annotate | diff | comparison | revisions
eric6/Utilities/ClassBrowsers/__init__.py file | annotate | diff | comparison | revisions
eric6/Utilities/ClassBrowsers/pyclbr.py file | annotate | diff | comparison | revisions
eric6/Utilities/GetSysPath.py file | annotate | diff | comparison | revisions
eric6/Utilities/ModuleParser.py file | annotate | diff | comparison | revisions
eric6/Utilities/PySideImporter.py file | annotate | diff | comparison | revisions
eric6/Utilities/binplistlib.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Sync/SyncGlobals.py file | annotate | diff | comparison | revisions
scripts/install-debugclients.py file | annotate | diff | comparison | revisions
scripts/install.py file | annotate | diff | comparison | revisions
scripts/uninstall-debugclients.py file | annotate | diff | comparison | revisions
--- a/eric6/DebugClients/Python/AsyncFile.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/AsyncFile.py	Sat Jun 27 12:08:12 2020 +0200
@@ -12,12 +12,6 @@
 
 from DebugUtilities import prepareJsonCommand
 
-try:
-    unicode
-except NameError:
-    unicode = str
-    raw_input = input
-
 
 def AsyncPendingWrite(file):
     """
@@ -180,7 +174,7 @@
         """
         self.__checkMode('r')
 
-        buf = raw_input()
+        buf = input()
         if size >= 0:
             buf = buf[:size]
         return buf
@@ -278,7 +272,7 @@
         """
         self.__checkMode('r')
 
-        line = raw_input() + '\n'
+        line = input() + '\n'
         if sizehint >= 0:
             line = line[:sizehint]
         return line
@@ -369,6 +363,3 @@
         @type list of str
         """
         self.write("".join(lines))
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/BreakpointWatch.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/BreakpointWatch.py	Sat Jun 27 12:08:12 2020 +0200
@@ -327,7 +327,3 @@
             except Exception:       # secok
                 continue
         return (None, False)
-
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DCTestResult.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DCTestResult.py	Sat Jun 27 12:08:12 2020 +0200
@@ -128,6 +128,3 @@
 
         if self.__dbgClient.readstream in rrdy:
             self.__dbgClient.readReady(self.__dbgClient.readstream)
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DebugBase.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DebugBase.py	Sat Jun 27 12:08:12 2020 +0200
@@ -797,7 +797,6 @@
         
         if exctype in [SyntaxError, IndentationError]:
             try:
-                # tuple could only occure on Python 2, but not always!
                 if type(excval) == tuple:
                     message, details = excval
                     filename, lineno, charno, text = details
@@ -1021,6 +1020,3 @@
         except AttributeError:
             # if frame is None
             return True
-    
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DebugClient.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DebugClient.py	Sat Jun 27 12:08:12 2020 +0200
@@ -36,6 +36,3 @@
 if __name__ == '__main__':
     debugClient = DebugClient()
     debugClient.main()
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DebugClientBase.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DebugClientBase.py	Sat Jun 27 12:08:12 2020 +0200
@@ -38,7 +38,7 @@
 ###############################################################################
 
 
-def DebugClientRawInput(prompt=""):
+def DebugClientInput(prompt=""):
     """
     Replacement for the standard input() builtin.
     
@@ -46,7 +46,7 @@
     
     @param prompt prompt to be shown
     @type str
-    @return result of the raw_input()/input() call
+    @return result of the input() call
     @rtype str
     """
     if DebugClientInstance is None or not DebugClientInstance.redirect:
@@ -57,11 +57,11 @@
 # Use our own input().
 try:
     DebugClientOrigInput = __builtins__.__dict__['input']
-    __builtins__.__dict__['input'] = DebugClientRawInput
+    __builtins__.__dict__['input'] = DebugClientInput
 except (AttributeError, KeyError):
     import __main__
     DebugClientOrigInput = __main__.__builtins__.__dict__['input']
-    __main__.__builtins__.__dict__['input'] = DebugClientRawInput
+    __main__.__builtins__.__dict__['input'] = DebugClientInput
 
 ###############################################################################
 
@@ -233,7 +233,7 @@
                     return
             self.__coding = default
         
-    def input(self, prompt):
+    def input(self, prompt, echo=True):
         """
         Public method to implement input() using the event loop.
         
@@ -243,7 +243,7 @@
         """
         self.sendJsonCommand("RequestRaw", {
             "prompt": prompt,
-            "echo": True,
+            "echo": echo,
         })
         self.eventLoop(True)
         return self.rawLine
@@ -1725,7 +1725,7 @@
             
             # special handling for '__builtins__' (it's way too big)
             if key == '__builtins__':
-                rvalue = '<module __builtin__ (built-in)>'
+                rvalue = '<module builtins (built-in)>'
                 valtype = 'module'
                 if ConfigVarTypeStrings.index(valtype) in filterList:
                     continue
@@ -2201,6 +2201,3 @@
         sysPath.insert(0, firstEntry)
         sysPath.insert(0, '')
         return sysPath
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DebugClientCapabilities.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DebugClientCapabilities.py	Sat Jun 27 12:08:12 2020 +0200
@@ -17,6 +17,3 @@
 
 HasAll = (HasDebugger | HasInterpreter | HasProfiler |
           HasCoverage | HasCompleter | HasUnittest | HasShell)
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DebugConfig.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DebugConfig.py	Sat Jun 27 12:08:12 2020 +0200
@@ -19,9 +19,6 @@
     'method', 'property', 'generator',
     'function', 'builtin_function_or_method', 'code', 'module',
     'ellipsis', 'traceback', 'frame', 'other', 'frozenset', 'bytes',
-    # Special case for Python 2: don't add 'instancemethod' to
-    # ConfigVarTypeFilters and leave it always at last position
-    'instancemethod'
 ]
 
 BatchSize = 200
@@ -36,6 +33,3 @@
     '.QDomComment', '.QDomDocument', '.QDomElement', '.QDomText',
     '.QHostAddress', '.EnumType'
 )
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DebugUtilities.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DebugUtilities.py	Sat Jun 27 12:08:12 2020 +0200
@@ -144,6 +144,3 @@
         "params": params,
     }
     return json.dumps(commandDict) + '\n'
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/DebugVariables.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/DebugVariables.py	Sat Jun 27 12:08:12 2020 +0200
@@ -715,6 +715,3 @@
             resolver = defaultResolver
     
     return typeName, typeStr, resolver
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/FlexCompleter.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/FlexCompleter.py	Sat Jun 27 12:08:12 2020 +0200
@@ -48,11 +48,7 @@
     </ul>
 """
 
-try:
-    import __builtin__ as builtins
-except ImportError:
-    import builtins
-
+import builtins
 import __main__
 
 __all__ = ["Completer"]
@@ -151,7 +147,7 @@
                                   'else'}:
                     word = word + ' '
                 matches.append(word)
-        for nspace in [builtins.__dict__, self.namespace]:
+        for nspace in [self.namespace, builtins.__dict__]:
             for word, val in nspace.items():
                 if word[:n] == text and word not in seen:
                     seen.add(word)
@@ -235,4 +231,4 @@
     return ret
 
 #
-# eflag: noqa = M702, M111
+# eflag: noqa = M111
--- a/eric6/DebugClients/Python/PyProfile.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/PyProfile.py	Sat Jun 27 12:08:12 2020 +0200
@@ -10,7 +10,7 @@
 import marshal
 import profile
 import atexit
-import pickle       # secok
+import pickle
 
 
 class PyProfile(profile.Profile):
@@ -56,7 +56,7 @@
             timings = marshal.load(cache)       # secok
             if isinstance(timings, dict):
                 self.timings = timings
-        except Exception:       # secok
+        except (EnvironmentError, EOFError, ValueError, TypeError):
             pass
         finally:
             cache.close()
@@ -69,7 +69,7 @@
         try:
             cache = open(self.timingCache, 'wb')
             marshal.dump(self.timings, cache)
-        except Exception:       # secok
+        except EnvironmentError:
             pass
         finally:
             cache.close()
@@ -86,7 +86,7 @@
         try:
             f = open(file, 'wb')
             self.create_stats()
-            pickle.dump(self.stats, f, 2)
+            pickle.dump(self.stats, f, 4)
         except (EnvironmentError, pickle.PickleError):
             pass
         finally:
@@ -178,6 +178,3 @@
         # the C function returned
         "c_return": profile.Profile.trace_dispatch_return,
     }
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/ThreadExtension.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/ThreadExtension.py	Sat Jun 27 12:08:12 2020 +0200
@@ -432,6 +432,3 @@
         
         self.enableImportHooks = True
         return module
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/eric6dbgstub.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/eric6dbgstub.py	Sat Jun 27 12:08:12 2020 +0200
@@ -85,6 +85,3 @@
     if debugger:
         debugger.startDebugger(enableTrace=enableTrace, exceptions=exceptions,
                                tracePython=tracePython, redirect=redirect)
-
-#
-# eflag: noqa = M702
--- a/eric6/DebugClients/Python/getpass.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DebugClients/Python/getpass.py	Sat Jun 27 12:08:12 2020 +0200
@@ -56,6 +56,3 @@
 win_getpass = getpass
 default_getpass = getpass
 fallback_getpass = getpass
-
-#
-# eflag: noqa = M702
--- a/eric6/Debugger/Config.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Debugger/Config.py	Sat Jun 27 12:08:12 2020 +0200
@@ -11,8 +11,6 @@
 from PyQt5.QtCore import QT_TRANSLATE_NOOP
 
 # Variables type definition
-# Special case for Python 2: don't add 'instancemethod'. It's renamed to
-# 'method' in DebugClientBase.py to be identical to Python 3
 ConfigVarTypeDispStrings = {
     '__': QT_TRANSLATE_NOOP('Variable Types', 'Hidden Attributes'),
     'NoneType': QT_TRANSLATE_NOOP('Variable Types', 'None'),
@@ -61,7 +59,7 @@
     'float': 6,
     'complex': 7,
     'str': 8,
-    'unicode': 9,
+    'unicode': 9,  # Not used anymore but keep to avoid reassignment
     'tuple': 10,
     'list': 11,
     'dict': 12,
--- a/eric6/Debugger/DebugClientCapabilities.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Debugger/DebugClientCapabilities.py	Sat Jun 27 12:08:12 2020 +0200
@@ -17,6 +17,3 @@
 
 HasAll = (HasDebugger | HasInterpreter | HasProfiler |
           HasCoverage | HasCompleter | HasUnittest | HasShell)
-
-#
-# eflag: noqa = M702
--- a/eric6/Debugger/DebuggerInterfacePython.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Debugger/DebuggerInterfacePython.py	Sat Jun 27 12:08:12 2020 +0200
@@ -346,8 +346,10 @@
         venvManager = e5App().getObject("VirtualEnvManager")
         interpreter = venvManager.getVirtualenvInterpreter(venvName)
         execPath = venvManager.getVirtualenvExecPath(venvName)
-        if (interpreter == "" and
-            project.getProjectLanguage().startswith("Python")):
+        if (
+            interpreter == "" and
+            project.getProjectLanguage().startswith("Python")
+        ):
             interpreter = sys.executable.replace("w.exe", ".exe")
         if interpreter == "":
             E5MessageBox.critical(
--- a/eric6/Debugger/VariablesViewer.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Debugger/VariablesViewer.py	Sat Jun 27 12:08:12 2020 +0200
@@ -199,10 +199,7 @@
                     dvalue = ast.literal_eval(dvalue)
                 except Exception:       # secok
                     pass
-            try:
-                dvalue = str(dvalue)
-            except UnicodeDecodeError:  # Never reached under Python 3
-                dvalue = unicode(dvalue, 'utf-8')  # __IGNORE_WARNING__
+            dvalue = str(dvalue)
         
         self.value = dvalue
         
--- a/eric6/DocumentationTools/Config.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DocumentationTools/Config.py	Sat Jun 27 12:08:12 2020 +0200
@@ -32,6 +32,3 @@
     'LinkColor': 'link-color',
 
 }
-
-#
-# eflag: noqa = M702
--- a/eric6/DocumentationTools/__init__.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/DocumentationTools/__init__.py	Sat Jun 27 12:08:12 2020 +0200
@@ -11,6 +11,3 @@
     "Python3": [".py", ".pyw", ".py3", ".pyw3"],
     "Ruby": [".rb"]
 }
-
-#
-# eflag: noqa = M702
--- a/eric6/E5XML/Config.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/E5XML/Config.py	Sat Jun 27 12:08:12 2020 +0200
@@ -44,6 +44,3 @@
 
 # version number of the web browser spell check dictionaries list file
 dictionariesListFileFormatVersion = "1.0"
-
-#
-# eflag: noqa = M702
--- a/eric6/E5XML/XMLStreamReaderBase.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/E5XML/XMLStreamReaderBase.py	Sat Jun 27 12:08:12 2020 +0200
@@ -162,9 +162,6 @@
                         val = float(real) + float(imag) * 1j
                     elif self.name() == "string":
                         val = self.readElementText()
-                    elif self.name() == "unicode":
-                        # backward compatibility to 4.6
-                        val = self.readElementText()
                     elif self.name() == "bytes":
                         by = bytes([int(b) for b in
                                     self.readElementText().split(",")])
--- a/eric6/Globals/__init__.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Globals/__init__.py	Sat Jun 27 12:08:12 2020 +0200
@@ -422,7 +422,7 @@
     Module function to convert a Python string into a QByteArray.
     
     @param txt Python string to be converted
-    @type str, bytes, bytearray, unicode
+    @type str, bytes, bytearray
     @return converted QByteArray
     @rtype QByteArray
     """
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Sat Jun 27 12:08:12 2020 +0200
@@ -506,6 +506,3 @@
                 })
 
     return stats, results
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py	Sat Jun 27 12:08:12 2020 +0200
@@ -7,16 +7,10 @@
 Module implementing a class to fix certain code style issues.
 """
 
-from __future__ import unicode_literals
-try:
-    # Python 2
-    from StringIO import StringIO       # __IGNORE_EXCEPTION__
-except ImportError:
-    # Python 3
-    from io import StringIO             # __IGNORE_WARNING__
 import os
 import re
 import tokenize
+from io import StringIO
 
 # CodeStyleCheckerDialog tries to import FixableCodeStyleIssues which fails
 # under Python3. So ignore it.
@@ -26,8 +20,8 @@
     pass
 
 FixableCodeStyleIssues = [
-    "D111", "D112", "D113", "D121", "D131", "D141",
-    "D142", "D143", "D144", "D145",
+    "D111", "D112", "D121", "D131", "D141", "D142",
+    "D143", "D144", "D145",
     "D221", "D222", "D231", "D242", "D243", "D244",
     "D245", "D246", "D247",
     "E101", "E111", "E121", "E122", "E123", "E124",
@@ -108,7 +102,6 @@
         self.__fixes = {
             "D111": self.__fixD111,
             "D112": self.__fixD112,
-            "D113": self.__fixD112,
             "D121": self.__fixD121,
             "D131": self.__fixD131,
             "D141": self.__fixD141,
@@ -557,9 +550,9 @@
     
     def __fixD112(self, code, line, pos):
         """
-        Private method to fix docstring 'r' or 'u' in leading quotes.
+        Private method to fix docstring 'r' in leading quotes.
         
-        Codes: D112, D113
+        Codes: D112
         
         @param code code of the issue
         @type str
@@ -575,8 +568,6 @@
         line = line - 1
         if code == "D112":
             insertChar = "r"
-        elif code == "D113":
-            insertChar = "u"
         else:
             return (0, "", 0)
         
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/ComplexityChecker.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/ComplexityChecker.py	Sat Jun 27 12:08:12 2020 +0200
@@ -253,6 +253,3 @@
             return (
                 (sortedList[medianIndex] + sortedList[medianIndex + 1]) / 2.0
             )
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py	Sat Jun 27 12:08:12 2020 +0200
@@ -12,15 +12,10 @@
 # pep257.py (version 0.2.4).
 #
 
-try:
-    # Python 2
-    from StringIO import StringIO       # __IGNORE_EXCEPTION__
-except ImportError:
-    # Python 3
-    from io import StringIO             # __IGNORE_WARNING__
 import tokenize
 import ast
 import sys
+from io import StringIO
 
 try:
     ast.AsyncFunctionDef    # __IGNORE_EXCEPTION__
@@ -128,7 +123,7 @@
     """
     Codes = [
         "D101", "D102", "D103", "D104", "D105",
-        "D111", "D112", "D113",
+        "D111", "D112",
         "D121", "D122",
         "D130", "D131", "D132", "D133", "D134",
         "D141", "D142", "D143", "D144", "D145",
@@ -209,7 +204,6 @@
                 "docstring": [
                     (self.__checkTripleDoubleQuotes, ("D111",)),
                     (self.__checkBackslashes, ("D112",)),
-                    (self.__checkUnicode, ("D113",)),
                     (self.__checkOneLiner, ("D121",)),
                     (self.__checkIndent, ("D122",)),
                     (self.__checkSummary, ("D130",)),
@@ -249,7 +243,6 @@
                 "docstring": [
                     (self.__checkTripleDoubleQuotes, ("D111",)),
                     (self.__checkBackslashes, ("D112",)),
-                    (self.__checkUnicode, ("D113",)),
                     (self.__checkIndent, ("D122",)),
                     (self.__checkSummary, ("D130",)),
                     (self.__checkEricEndsWithPeriod, ("D231",)),
@@ -778,24 +771,6 @@
         if "\\" in docstring and not docstring.startswith('r"""'):
             self.__error(docstringContext.start(), 0, "D112")
     
-    def __checkUnicode(self, docstringContext, context):
-        """
-        Private method to check, that all docstrings containing unicode
-        characters are surrounded by unicode triple double quotes.
-        
-        @param docstringContext docstring context (DocStyleContext)
-        @param context context of the docstring (DocStyleContext)
-        """
-        if docstringContext is None:
-            return
-        
-        docstring = docstringContext.ssource().strip()
-        if (
-            not docstring.startswith('u"""') and
-            any(ord(char) > 127 for char in docstring)
-        ):
-            self.__error(docstringContext.start(), 0, "D113")
-    
     def __checkOneLiner(self, docstringContext, context):
         """
         Private method to check, that one-liner docstrings fit on
@@ -1467,6 +1442,3 @@
                 if firstWord != 'public':
                     self.__error(docstringContext.start() + lineNumber, 0,
                                  "D232", 'public')
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Sat Jun 27 12:08:12 2020 +0200
@@ -2290,4 +2290,4 @@
         self.generic_visit(node)
 
 #
-# eflag: noqa = M702, M891
+# eflag: noqa = M891
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/NamingStyleChecker.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/NamingStyleChecker.py	Sat Jun 27 12:08:12 2020 +0200
@@ -439,6 +439,3 @@
                 yield self.__error(node, "N813")
             elif self.UppercaseRegexp.match(name.asname):
                 yield self.__error(node, "N814")
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/eradicate.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/eradicate.py	Sat Jun 27 12:08:12 2020 +0200
@@ -21,9 +21,6 @@
 
 """Removes commented-out Python code."""
 
-from __future__ import print_function
-from __future__ import unicode_literals
-
 import difflib
 import io
 import os
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/mccabe.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/mccabe.py	Sat Jun 27 12:08:12 2020 +0200
@@ -3,7 +3,6 @@
     http://nedbatchelder.com/blog/200803/python_code_complexity_microtool.html
     MIT License.
 """
-from __future__ import with_statement
 
 import collections
 import ast
@@ -215,6 +214,3 @@
         self.dispatch_list(node.body)
 
     visitAsyncWith = visitWith
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/pycodestyle.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/pycodestyle.py	Sat Jun 27 12:08:12 2020 +0200
@@ -49,7 +49,6 @@
 700 statements
 900 syntax error
 """
-from __future__ import with_statement
 
 #
 # This is a modified version to make the original pycodestyle.py better
@@ -2828,4 +2827,4 @@
 if __name__ == '__main__':
     _main()
 #
-# eflag: noqa = D2, M601, M701, M702, M801
+# eflag: noqa = D2, M601, M801
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py	Sat Jun 27 12:08:12 2020 +0200
@@ -305,9 +305,6 @@
     "D112": QCoreApplication.translate(
         "DocStyleChecker",
         'docstring containing \\ not surrounded by r"""'),
-    "D113": QCoreApplication.translate(
-        "DocStyleChecker",
-        'docstring containing unicode character not surrounded by u"""'),
     "D121": QCoreApplication.translate(
         "DocStyleChecker", "one-liner docstring on multiple lines"),
     "D122": QCoreApplication.translate(
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py	Sat Jun 27 12:08:12 2020 +0200
@@ -4,7 +4,7 @@
 #
 
 """
-Module implementing the syntax check for Python 2/3.
+Module implementing the syntax check for Python 3.
 """
 
 import queue
@@ -217,10 +217,7 @@
             (file name, line number, column, codestring (only at syntax
             errors), the message, a list with arguments for the message)
     """
-    try:
-        import builtins
-    except ImportError:
-        import __builtin__ as builtins        # __IGNORE_WARNING__
+    import builtins
     
     try:
         codestring = normalizeCode(codestring)
@@ -325,6 +322,3 @@
         results.append((filename, err.lineno, 0, "FLAKES_ERROR", msg, []))
     
     return [{'warnings': results}]
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py	Sat Jun 27 12:08:12 2020 +0200
@@ -9,8 +9,6 @@
 check.
 """
 
-from __future__ import unicode_literals
-
 from PyQt5.QtCore import QObject, pyqtSignal
 
 from E5Gui.E5Application import e5App
@@ -197,7 +195,7 @@
     
     def serviceErrorPy3(self, fx, lang, fn, msg):
         """
-        Public method handling service errors for Python 2.
+        Public method handling service errors for Python 3.
         
         @param fx service name (string)
         @param lang language (string)
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/__init__.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/__init__.py	Sat Jun 27 12:08:12 2020 +0200
@@ -279,6 +279,3 @@
   - Add reporting for some types of import shadowing.
   - Improve reporting of unbound locals
 """
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/checker.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/checker.py	Sat Jun 27 12:08:12 2020 +0200
@@ -2254,6 +2254,3 @@
             left = right
 
         self.handleChildren(node)
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/messages.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/messages.py	Sat Jun 27 12:08:12 2020 +0200
@@ -834,6 +834,3 @@
     """
     message_id = 'F48'
     message = "'...' %% ... `*` specifier requires sequence"
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/CheckerPlugins/Tabnanny/Tabnanny.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/Tabnanny/Tabnanny.py	Sat Jun 27 12:08:12 2020 +0200
@@ -18,8 +18,6 @@
 @exception ValueError The tokenize module is too old.
 """
 
-from __future__ import unicode_literals
-
 # Released to the public domain, by Tim Peters, 15 April 1998.
 
 # XXX Note: this is now a standard library module.
--- a/eric6/Plugins/PluginCodeStyleChecker.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/PluginCodeStyleChecker.py	Sat Jun 27 12:08:12 2020 +0200
@@ -93,7 +93,7 @@
     
     def serviceErrorPy3(self, fx, lang, fn, msg):
         """
-        Public slot handling service errors for Python 2.
+        Public slot handling service errors for Python 3.
         
         @param fx service name (string)
         @param lang language (string)
--- a/eric6/Plugins/PluginTabnanny.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/PluginTabnanny.py	Sat Jun 27 12:08:12 2020 +0200
@@ -7,6 +7,7 @@
 Module implementing the Tabnanny plugin.
 """
 
+# TODO: remove tabnanny as it is obsolete
 
 import os
 
@@ -87,7 +88,7 @@
     
     def serviceErrorPy3(self, fx, lang, fn, msg):
         """
-        Public slot handling service errors for Python 2.
+        Public slot handling service errors for Python 3.
         
         @param fx service name (string)
         @param lang language (string)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py	Sat Jun 27 12:08:12 2020 +0200
@@ -428,6 +428,3 @@
         @rtype bool
         """
         return self.__commandRunning
-
-#
-# eflag: noqa = M702
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.py	Sat Jun 27 12:08:12 2020 +0200
@@ -162,7 +162,6 @@
             try:
                 entries = self.client.list(url, recurse=False)
                 firstTime = parent == self.repoTree
-                # dirent elements are all unicode in Python 2
                 for dirent, _lock in entries:
                     if (
                         (firstTime and dirent["path"] != url) or
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnTagBranchListDialog.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnTagBranchListDialog.py	Sat Jun 27 12:08:12 2020 +0200
@@ -136,7 +136,6 @@
         os.chdir(dname)
         try:
             entries = self.client.list(path, recurse=False)
-            # dirent, lock already unicode in Python 2
             for dirent, _lock in entries:
                 if dirent["path"] != path:
                     name = dirent["path"].replace(path + '/', "")
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py	Sat Jun 27 12:08:12 2020 +0200
@@ -1502,7 +1502,6 @@
                 locker.unlock()
                 dirs = [x for x in names.keys() if os.path.isdir(x)]
                 for file in allFiles:
-                    # file.path is always unicode in Python 2
                     name = os.path.normcase(file.path)
                     if self.__isVersioned(file):
                         if name in names:
@@ -1582,7 +1581,6 @@
                                          ignore=True, update=False)
                 locker.unlock()
                 for file in allFiles:
-                    # file.path is always unicode in Python 2
                     name = os.path.normcase(file.path)
                     if self.__isVersioned(file):
                         if name in names:
--- a/eric6/Preferences/ConfigurationPages/WebBrowserInterfacePage.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Preferences/ConfigurationPages/WebBrowserInterfacePage.py	Sat Jun 27 12:08:12 2020 +0200
@@ -7,8 +7,6 @@
 Module implementing the Interface configuration page (variant for web browser).
 """
 
-from __future__ import unicode_literals
-
 from PyQt5.QtWidgets import QStyleFactory
 
 from E5Gui.E5PathPicker import E5PathPickerModes
--- a/eric6/Project/ProjectBrowserFlags.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Project/ProjectBrowserFlags.py	Sat Jun 27 12:08:12 2020 +0200
@@ -24,6 +24,3 @@
     OthersBrowserFlag |
     ProtocolsBrowserFlag
 )
-
-#
-# eflag: noqa = M702
--- a/eric6/QScintilla/QsciScintillaCompat.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/QScintilla/QsciScintillaCompat.py	Sat Jun 27 12:08:12 2020 +0200
@@ -1575,8 +1575,8 @@
                 height += (
                     userListWidget.horizontalScrollBar().sizeHint().height()
                 )
-                # List box doesn't honor limited size to show scroll bars, e.g.
-                # Python 2 on Win 10. So just force it.
+                # List box doesn't honor limited size to show scroll bars.
+                # So just force it.
                 userListWidget.setHorizontalScrollBarPolicy(
                     Qt.ScrollBarAlwaysOn)
             
--- a/eric6/UI/Config.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/UI/Config.py	Sat Jun 27 12:08:12 2020 +0200
@@ -10,6 +10,3 @@
 from PyQt5.QtCore import QSize
 
 ToolBarIconSize = QSize(20, 18)
-
-#
-# eflag: noqa = M702
--- a/eric6/UI/DiffDialog.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/UI/DiffDialog.py	Sat Jun 27 12:08:12 2020 +0200
@@ -27,9 +27,6 @@
 
 from difflib import SequenceMatcher
 
-# This function is copied from python 2.3 and slightly modified.
-# The header lines contain a tab after the filename.
-
 
 def unified_diff(a, b, fromfile='', tofile='', fromfiledate='',
                  tofiledate='', n=3, lineterm='\n'):
@@ -107,9 +104,6 @@
                 for line in b[j1:j2]:
                     yield '+' + line
 
-# This function is copied from python 2.3 and slightly modified.
-# The header lines contain a tab after the filename.
-
 
 def context_diff(a, b, fromfile='', tofile='',
                  fromfiledate='', tofiledate='', n=3, lineterm='\n'):
--- a/eric6/Utilities/BackgroundClient.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Utilities/BackgroundClient.py	Sat Jun 27 12:08:12 2020 +0200
@@ -9,13 +9,7 @@
 checkers and other python interpreter dependent functions.
 """
 
-from __future__ import unicode_literals
-try:
-    bytes = unicode
-    import StringIO as io   # __IGNORE_EXCEPTION__
-except NameError:
-    import io       # __IGNORE_WARNING__
-
+import io
 import json
 import socket
 import struct
--- a/eric6/Utilities/ClassBrowsers/__init__.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Utilities/ClassBrowsers/__init__.py	Sat Jun 27 12:08:12 2020 +0200
@@ -13,7 +13,6 @@
 <li>CORBA IDL</li>
 <li>JavaScript</li>
 <li>ProtoBuf</li>
-<li>Python 2</li>
 <li>Python 3</li>
 <li>Ruby</li>
 </ul>
--- a/eric6/Utilities/ClassBrowsers/pyclbr.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Utilities/ClassBrowsers/pyclbr.py	Sat Jun 27 12:08:12 2020 +0200
@@ -8,8 +8,6 @@
 
 Parse enough of a Python file to recognize class and method definitions and
 to find out the superclasses of a class as well as its attributes.
-
-This is module is based on pyclbr found in the Python 2.2.2 distribution.
 """
 
 
--- a/eric6/Utilities/GetSysPath.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Utilities/GetSysPath.py	Sat Jun 27 12:08:12 2020 +0200
@@ -7,8 +7,6 @@
 Module to get sys.path of an external interpreter.
 """
 
-from __future__ import print_function
-
 import sys
 import json
 
--- a/eric6/Utilities/ModuleParser.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Utilities/ModuleParser.py	Sat Jun 27 12:08:12 2020 +0200
@@ -6,8 +6,6 @@
 """
 Parse a Python module file.
 
-This module is based on pyclbr.py as of Python 2.2.2
-
 <b>BUGS</b> (from pyclbr.py)
 <ul>
 <li>Code that doesn't pass tabnanny or python -t will confuse it, unless
--- a/eric6/Utilities/PySideImporter.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Utilities/PySideImporter.py	Sat Jun 27 12:08:12 2020 +0200
@@ -29,6 +29,3 @@
         ret = 1
     
     sys.exit(ret)
-    
-#
-# eflag: noqa = M702
--- a/eric6/Utilities/binplistlib.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/Utilities/binplistlib.py	Sat Jun 27 12:08:12 2020 +0200
@@ -54,7 +54,7 @@
 
 
 #
-# Ported from the Python 2 biplist.py script.
+# Ported from the biplist.py script.
 #
 # Original License:
 #
@@ -938,7 +938,6 @@
             output += proc_variable_length(0b0100, len(obj))
             output += obj
         elif isinstance(obj, str):
-            # Python 3 uses unicode strings only
             length = obj.encode('utf_16_be')
             output += proc_variable_length(0b0110, len(length) / 2)
             output += length
--- a/eric6/WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py	Sat Jun 27 12:08:12 2020 +0200
@@ -164,7 +164,7 @@
         Public method to find full hashes matching hash prefixes.
         
         @param prefixes list of hash prefixes to find
-        @type list of str (Python 2) or list of bytes (Python 3)
+        @type list of bytes
         @param clientState dictionary of client states with keys like
             (threatType, platformType, threatEntryType)
         @type dict
--- a/eric6/WebBrowser/Sync/SyncGlobals.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/eric6/WebBrowser/Sync/SyncGlobals.py	Sat Jun 27 12:08:12 2020 +0200
@@ -19,6 +19,3 @@
 SyncTypeNone = -1
 SyncTypeFtp = 0
 SyncTypeDirectory = 1
-
-#
-# eflag: noqa = M702
--- a/scripts/install-debugclients.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/scripts/install-debugclients.py	Sat Jun 27 12:08:12 2020 +0200
@@ -11,19 +11,7 @@
 Installation script for the eric6 debug clients.
 """
 
-from __future__ import unicode_literals, print_function
-try:
-    import cStringIO as io
-    try:
-        from PyQt5 import sip
-    except ImportError:
-        import sip
-    sip.setapi('QString', 2)
-    sip.setapi('QVariant', 2)
-    sip.setapi('QTextStream', 2)
-except (ImportError):
-    import io    # __IGNORE_WARNING__
-
+import io
 import sys
 import os
 import re
--- a/scripts/install.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/scripts/install.py	Sat Jun 27 12:08:12 2020 +0200
@@ -9,8 +9,6 @@
 Installation script for the eric6 IDE and all eric6 related tools.
 """
 
-from __future__ import print_function
-
 import sys
 import os
 import re
--- a/scripts/uninstall-debugclients.py	Thu Jun 25 19:09:55 2020 +0200
+++ b/scripts/uninstall-debugclients.py	Sat Jun 27 12:08:12 2020 +0200
@@ -10,8 +10,6 @@
 Unnstallation script for the eric6 debug clients.
 """
 
-from __future__ import unicode_literals, print_function
-
 import sys
 import os
 import shutil

eric ide

mercurial