Sat, 31 Aug 2019 12:58:11 +0200
Started removing runtime support for Python2 and PyQt4.
--- a/eric6.e4p Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6.e4p Sat Aug 31 12:58:11 2019 +0200 @@ -214,9 +214,7 @@ <Source>eric6/E5XML/XMLStreamWriterBase.py</Source> <Source>eric6/E5XML/__init__.py</Source> <Source>eric6/Globals/AppInfo.py</Source> - <Source>eric6/Globals/E5ConfigParser.py</Source> <Source>eric6/Globals/__init__.py</Source> - <Source>eric6/Globals/compatibility_fixes.py</Source> <Source>eric6/Graphics/ApplicationDiagramBuilder.py</Source> <Source>eric6/Graphics/AssociationItem.py</Source> <Source>eric6/Graphics/ClassItem.py</Source> @@ -1609,7 +1607,6 @@ <Source>eric6/WebBrowser/SafeBrowsing/SafeBrowsingManager.py</Source> <Source>eric6/WebBrowser/SafeBrowsing/SafeBrowsingThreatList.py</Source> <Source>eric6/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py</Source> - <Source>eric6/WebBrowser/SafeBrowsing/SafeBrowsingUtilities.py</Source> <Source>eric6/WebBrowser/SafeBrowsing/__init__.py</Source> <Source>eric6/WebBrowser/SearchWidget.py</Source> <Source>eric6/WebBrowser/Session/SessionManager.py</Source> @@ -1742,8 +1739,6 @@ <Source>eric6/eric6_uipreviewer.pyw</Source> <Source>eric6/eric6_unittest.py</Source> <Source>eric6/eric6_unittest.pyw</Source> - <Source>eric6/eric6_webbrowser.py</Source> - <Source>eric6/eric6_webbrowser.pyw</Source> <Source>eric6/eric6config.py</Source> <Source>scripts/cleanupSource.py</Source> <Source>scripts/compileUiFiles.py</Source> @@ -2318,9 +2313,6 @@ <Other>eric6/APIs/MicroPython/circuitpython.api</Other> <Other>eric6/APIs/MicroPython/microbit.api</Other> <Other>eric6/APIs/MicroPython/micropython.api</Other> - <Other>eric6/APIs/Python/zope-2.10.7.api</Other> - <Other>eric6/APIs/Python/zope-2.11.2.api</Other> - <Other>eric6/APIs/Python/zope-3.3.1.api</Other> <Other>eric6/APIs/Python3/PyQt4.bas</Other> <Other>eric6/APIs/Python3/PyQt5.bas</Other> <Other>eric6/APIs/Python3/PyQtChart.bas</Other> @@ -2328,6 +2320,9 @@ <Other>eric6/APIs/Python3/QScintilla2.bas</Other> <Other>eric6/APIs/Python3/eric6.api</Other> <Other>eric6/APIs/Python3/eric6.bas</Other> + <Other>eric6/APIs/Python/zope-2.10.7.api</Other> + <Other>eric6/APIs/Python/zope-2.11.2.api</Other> + <Other>eric6/APIs/Python/zope-3.3.1.api</Other> <Other>eric6/APIs/QSS/qss.api</Other> <Other>eric6/APIs/Ruby/Ruby-1.8.7.api</Other> <Other>eric6/APIs/Ruby/Ruby-1.8.7.bas</Other> @@ -2530,7 +2525,6 @@ <Other>linux/eric6.desktop.in</Other> <Other>linux/eric6_browser.desktop</Other> <Other>linux/eric6_browser.desktop.in</Other> - <Other>linux/eric6_webbrowser.desktop.in</Other> <Other>others/default.e4k</Other> <Other>others/default_Mac.e4k</Other> <Other>others/pylint.rc</Other>
--- a/eric6/CondaInterface/Conda.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/CondaInterface/Conda.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import json import os
--- a/eric6/CondaInterface/CondaExecDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/CondaInterface/CondaExecDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/CondaInterface/CondaExportDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/CondaInterface/CondaExportDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os
--- a/eric6/CondaInterface/__init__.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/CondaInterface/__init__.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/Cooperation/Connection.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Cooperation/Connection.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import pyqtSignal, QTimer, QTime, QByteArray from PyQt5.QtNetwork import QTcpSocket, QHostInfo
--- a/eric6/DataViews/CodeMetrics.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/DataViews/CodeMetrics.py Sat Aug 31 12:58:11 2019 +0200 @@ -18,7 +18,6 @@ import os import io -import sys import keyword import token import tokenize @@ -68,10 +67,7 @@ source = io.BytesIO(text.encode("utf-8")) try: - if sys.version_info[0] == 2: - gen = tokenize.generate_tokens(source.readline) - else: - gen = tokenize.tokenize(source.readline) + gen = tokenize.tokenize(source.readline) for toktype, toktext, start, end, line in gen: (srow, scol) = start (erow, ecol) = end
--- a/eric6/Debugger/DebugServer.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Debugger/DebugServer.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import sys @@ -220,10 +216,7 @@ self.clientType = \ Preferences.Prefs.settings.value('DebugClient/Type') if self.clientType is None: - if sys.version_info[0] == 2: - self.clientType = 'Python2' - else: - self.clientType = 'Python3' + self.clientType = 'Python3' # Change clientType if dependent interpreter does not exist anymore # (maybe deinstalled,...) elif self.clientType == 'Python2' and Preferences.getDebugger(
--- a/eric6/Debugger/VariablesViewer.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Debugger/VariablesViewer.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,11 +9,6 @@ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass - import ast from PyQt5.QtCore import (Qt, QAbstractItemModel, QModelIndex, QRegExp,
--- a/eric6/E5Gui/E5ProcessDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/E5Gui/E5ProcessDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/E5Network/E5GoogleMail.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/E5Network/E5GoogleMail.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,13 +8,8 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os -import sys import base64 import json import datetime @@ -152,19 +147,7 @@ else: self.__doSendMessages() - def __prepareMessage_v2(self, message): - """ - Private method to prepare the message for sending (Python2 Variant). - - @param message message to be prepared - @type email.mime.text.MIMEBase - @return prepared message dictionary - @rtype dict - """ - raw = base64.urlsafe_b64encode(message.as_string()) - return {'raw': raw} - - def __prepareMessage_v3(self, message): + def __prepareMessage(self, message): """ Private method to prepare the message for sending (Python2 Variant). @@ -281,10 +264,7 @@ while self.__messages: count += 1 message = self.__messages.pop(0) - if sys.version_info[0] == 2: - message1 = self.__prepareMessage_v2(message) - else: - message1 = self.__prepareMessage_v3(message) + message1 = self.__prepareMessage(message) service.users().messages()\ .send(userId="me", body=message1).execute() results.append(self.tr("Message #{0} sent.").format(count))
--- a/eric6/E5Network/E5RFC6266.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/E5Network/E5RFC6266.py Sat Aug 31 12:58:11 2019 +0200 @@ -15,10 +15,7 @@ from __future__ import unicode_literals -try: # Py3 - import urllib.parse as parse -except (ImportError): - import urlparse as parse # __IGNORE_WARNING__ +import urllib.parse as parse import collections import string import re
--- a/eric6/E5Network/E5SslCertificatesInfoWidget.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/E5Network/E5SslCertificatesInfoWidget.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import pyqtSlot, QCryptographicHash, QDateTime from PyQt5.QtWidgets import QWidget
--- a/eric6/E5Network/E5XmlRpcClient.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/E5Network/E5XmlRpcClient.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,8 @@ """ from __future__ import unicode_literals -try: - import xmlrpclib as xmlrpc -except ImportError: - import xmlrpc.client as xmlrpc + +import xmlrpc.client as xmlrpc from PyQt5.QtCore import QObject, QUrl, QByteArray from PyQt5.QtNetwork import QNetworkAccessManager, \
--- a/eric6/E5XML/XMLStreamWriterBase.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/E5XML/XMLStreamWriterBase.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,12 +8,7 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass -import sys import pickle import base64 @@ -45,10 +40,8 @@ dict: self._write_dictionary, set: self._write_set, frozenset: self._write_frozenset, + bytes: self._write_bytes, } - # 'bytes' is identical to 'str' in Py2 - if sys.version_info[0] >= 3: - self.basics[bytes] = self._write_bytes self.setAutoFormatting(True) self.setAutoFormattingIndent(2)
--- a/eric6/Globals/__init__.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Globals/__init__.py Sat Aug 31 12:58:11 2019 +0200 @@ -12,10 +12,6 @@ # from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import sys import os @@ -425,12 +421,8 @@ @return converted QByteArray @rtype QByteArray """ - if sys.version_info[0] == 2: - if isinstance(txt, unicode): # __IGNORE_WARNING__ - txt = txt.encode("utf-8") - else: - if isinstance(txt, str): - txt = txt.encode("utf-8") + if isinstance(txt, str): + txt = txt.encode("utf-8") return QByteArray(txt)
--- a/eric6/Graphics/PackageDiagramBuilder.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Graphics/PackageDiagramBuilder.py Sat Aug 31 12:58:11 2019 +0200 @@ -11,10 +11,7 @@ import glob import os.path -try: # Py3 - from itertools import zip_longest -except ImportError: - from itertools import izip_longest as zip_longest # __IGNORE_WARNING__ +from itertools import zip_longest from PyQt5.QtWidgets import QApplication, QGraphicsTextItem
--- a/eric6/Graphics/UMLClassDiagramBuilder.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Graphics/UMLClassDiagramBuilder.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,8 @@ """ from __future__ import unicode_literals -try: # Py3 - from itertools import zip_longest -except ImportError: - from itertools import izip_longest as zip_longest # __IGNORE_WARNING__ + +from itertools import zip_longest from PyQt5.QtWidgets import QGraphicsTextItem
--- a/eric6/HexEdit/HexEditSearchReplaceWidget.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/HexEdit/HexEditSearchReplaceWidget.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass from PyQt5.QtCore import pyqtSlot, Qt, QByteArray, QRegExp from PyQt5.QtGui import QRegExpValidator
--- a/eric6/HexEdit/HexEditWidget.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/HexEdit/HexEditWidget.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals, division -try: - chr = unichr # __IGNORE_EXCEPTION__ -except NameError: - pass import math
--- a/eric6/Network/IRC/IrcChannelWidget.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Network/IRC/IrcChannelWidget.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,7 @@ from __future__ import unicode_literals -try: - from itertools import izip_longest as zip_longest # __IGNORE_EXCEPTION__ -except ImportError: - from itertools import zip_longest +from itertools import zip_longest import re
--- a/eric6/Network/IRC/IrcWidget.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Network/IRC/IrcWidget.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import re import logging
--- a/eric6/PipInterface/Pip.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/PipInterface/Pip.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os import sys
--- a/eric6/PipInterface/PipDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/PipInterface/PipDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication, QTimer, \ QProcess
--- a/eric6/PipInterface/PipFreezeDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/PipInterface/PipFreezeDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os
--- a/eric6/PipInterface/PipPackageDetailsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/PipInterface/PipPackageDetailsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - basestring # __IGNORE_WARNING__ -except NameError: - basestring = str from PyQt5.QtCore import Qt, QLocale from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QTreeWidgetItem, \ @@ -181,7 +177,7 @@ elif text is None: text = "" if forUrl: - if not isinstance(text, basestring) or \ + if not isinstance(text, str) or \ not text.startswith(("http://", "https://", "ftp://")): # ignore if the schema is not one of the listed ones text = ""
--- a/eric6/PluginManager/PluginExceptions.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/PluginManager/PluginExceptions.py Sat Aug 31 12:58:11 2019 +0200 @@ -143,21 +143,3 @@ "PluginError", "The plugin class {0} of module {1} is missing {2}.")\ .format(class_, name, missing) - - -class PluginPy2IncompatibleError(PluginError): - """ - Class defining an error raised, when the plugin is incompatible - with Python2. - """ - def __init__(self, name): - """ - Constructor - - @param name name of the plugin module (string) - """ - self._errorMessage = \ - QCoreApplication.translate( - "PluginError", - "The plugin module {0} is not compatible with Python2.")\ - .format(name)
--- a/eric6/PluginManager/PluginInstallDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/PluginManager/PluginInstallDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -477,9 +477,6 @@ if doCompile: dirName = os.path.join(destination, packageName) files = os.path.join(destination, pluginFileName) - if sys.version_info[0] == 2: - dirName = dirName.encode(sys.getfilesystemencoding()) - files = files.encode(sys.getfilesystemencoding()) os.path.join_unicode = False compileall.compile_dir(dirName, quiet=True) compileall.compile_file(files, quiet=True)
--- a/eric6/PluginManager/PluginManager.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/PluginManager/PluginManager.py Sat Aug 31 12:58:11 2019 +0200 @@ -32,7 +32,7 @@ from .PluginExceptions import PluginPathError, PluginModulesError, \ PluginLoadError, PluginActivationError, PluginModuleFormatError, \ - PluginClassFormatError, PluginPy2IncompatibleError + PluginClassFormatError import UI.PixmapCache @@ -382,8 +382,6 @@ @param reload_ flag indicating to reload the module (boolean) @exception PluginLoadError raised to indicate an issue loading the plug-in - @exception PluginPy2IncompatibleError raised to indicate the Python 2 - incompatibility of a plug-in """ try: fname = "{0}.py".format(os.path.join(directory, name)) @@ -393,21 +391,6 @@ "Module is missing the 'autoactivate' attribute.") self.__failedModules[name] = module raise PluginLoadError(name) - if sys.version_info[0] < 3: - if not hasattr(module, "python2Compatible"): - module.error = self.tr( - "Module is missing the Python2 compatibility flag." - " Please update.") - compatible = False - elif not getattr(module, "python2Compatible", True): - module.error = self.tr( - "Module is not Python2 compatible.") - compatible = False - else: - compatible = True - if not compatible: - self.__failedModules[name] = module - raise PluginPy2IncompatibleError(name) if getattr(module, "autoactivate", False): self.__inactiveModules[name] = module else: @@ -434,9 +417,6 @@ pass except PluginLoadError: print("Error loading plug-in module:", name) - except PluginPy2IncompatibleError: - print("Error loading plug-in module:", name) - print("The plug-in is not Python2 compatible.") except Exception as err: module = imp.new_module(name) module.error = self.tr(
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/jsCheckSyntax.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/jsCheckSyntax.py Sat Aug 31 12:58:11 2019 +0200 @@ -53,13 +53,6 @@ if codestring and codestring[-1] != '\n': codestring = codestring + '\n' - - # Check type for py2: if not str it's unicode -# if sys.version_info[0] == 2: -# try: -# codestring = codestring.encode('utf-8') -# except UnicodeError: -# pass return codestring
--- a/eric6/Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import fnmatch
--- a/eric6/Plugins/DocumentationPlugins/Ericapi/EricapiExecDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/DocumentationPlugins/Ericapi/EricapiExecDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os.path
--- a/eric6/Plugins/DocumentationPlugins/Ericdoc/EricdocExecDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/DocumentationPlugins/Ericdoc/EricdocExecDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os.path
--- a/eric6/Plugins/PluginWizardEricPlugin.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/PluginWizardEricPlugin.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import QUrl, QDateTime, QByteArray, QTimer
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import json
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import QObject, QEventLoop, QByteArray from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, \
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitBisectLogBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitBisectLogBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os @@ -24,9 +20,8 @@ from .Ui_GitBisectLogBrowserDialog import Ui_GitBisectLogBrowserDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitBisectLogBrowserDialog(QWidget, Ui_GitBisectLogBrowserDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitBlameDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitBlameDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import re @@ -24,9 +20,8 @@ from .Ui_GitBlameDialog import Ui_GitBlameDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitBlameDialog(QDialog, Ui_GitBlameDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDescribeDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDescribeDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os @@ -23,9 +19,8 @@ from .Ui_GitDescribeDialog import Ui_GitDescribeDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitDescribeDialog(QDialog, Ui_GitDescribeDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os @@ -23,9 +19,8 @@ from .Ui_GitDialog import Ui_GitDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitDialog(QDialog, Ui_GitDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import pyqtSlot, QFileInfo, Qt from PyQt5.QtGui import QTextCursor, QCursor
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDiffGenerator.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDiffGenerator.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDiffHighlighter.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDiffHighlighter.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,158 +9,9 @@ from __future__ import unicode_literals -import re - -from PyQt5.QtGui import QSyntaxHighlighter, QColor, QTextCharFormat, QFont - -import Preferences - -try: - from E5Gui.E5GenericDiffHighlighter import TERMINAL, \ - E5GenericDiffHighlighter -except ImportError: - def TERMINAL(pattern): - """ - Function to mark a pattern as the final one to search for. - - @param pattern pattern to be marked (string) - @return marked pattern (string) - """ - return "__TERMINAL__:{0}".format(pattern) - - # Cache the results of re.compile for performance reasons - _REGEX_CACHE = {} +from PyQt5.QtGui import QColor - class E5GenericDiffHighlighter(QSyntaxHighlighter): - """ - Class implementing a generic diff highlighter. - """ - def __init__(self, doc): - """ - Constructor - - @param doc reference to the text document (QTextDocument) - """ - super(E5GenericDiffHighlighter, self).__init__(doc) - - self.textColor = QColor(0, 0, 0) - self.addedColor = QColor(190, 237, 190) - self.removedColor = QColor(237, 190, 190) - self.replacedColor = QColor(190, 190, 237) - self.contextColor = QColor(255, 220, 168) - self.headerColor = QColor(237, 237, 190) - - self.normalFormat = self.makeFormat() - - self._rules = [] - self.generateRules() - - def generateRules(self): - """ - Public method to generate the rule set. - - Note: This method must me implemented by derived syntax - highlighters. - """ - pass - - def createRules(self, *rules): - """ - Public method to create the highlighting rules. - - @param rules set of highlighting rules (list of tuples of rule - pattern (string) and highlighting format (QTextCharFormat)) - """ - for ruleFormat in rules: - rule, formats = ruleFormat - terminal = rule.startswith(TERMINAL('')) - if terminal: - rule = rule[len(TERMINAL('')):] - try: - regex = _REGEX_CACHE[rule] - except KeyError: - regex = _REGEX_CACHE[rule] = re.compile(rule) - self._rules.append((regex, formats, terminal)) - - def formats(self, line): - """ - Public method to determine the highlighting formats for a line of - text. - - @param line text line to be highlighted (string) - @return list of matched highlighting rules (list of tuples of match - object and format (QTextCharFormat)) - """ - matched = [] - for rx, formats, terminal in self._rules: - match = rx.match(line) - if not match: - continue - matched.append([match, formats]) - if terminal: - return matched - - return matched - - def makeFormat(self, fg=None, bg=None, bold=False): - """ - Public method to generate a format definition. - - @param fg foreground color (QColor) - @param bg background color (QColor) - @param bold flag indicating bold text (boolean) - @return format definiton (QTextCharFormat) - """ - font = Preferences.getEditorOtherFonts("MonospacedFont") - charFormat = QTextCharFormat() - charFormat.setFontFamily(font.family()) - charFormat.setFontPointSize(font.pointSize()) - - if fg: - charFormat.setForeground(fg) - - if bg: - charFormat.setBackground(bg) - - if bold: - charFormat.setFontWeight(QFont.Bold) - - return charFormat - - def highlightBlock(self, text): - """ - Public method to highlight a block of text. - - @param text text to be highlighted (string) - """ - formats = self.formats(text) - if not formats: - # nothing matched - self.setFormat(0, len(text), self.normalFormat) - return - - for match, charFormat in formats: - start = match.start() - groups = match.groups() - - # No groups in the regex, assume this is a single rule - # that spans the entire line - if not groups: - self.setFormat(0, len(text), charFormat) - continue - - # Groups exist, rule is a tuple corresponding to group - for groupIndex, group in enumerate(groups): - if not group: - # empty match - continue - - # allow None as a no-op format - length = len(group) - if charFormat[groupIndex]: - self.setFormat(start, start + length, - charFormat[groupIndex]) - start += length +from E5Gui.E5GenericDiffHighlighter import TERMINAL, E5GenericDiffHighlighter class GitDiffHighlighter(E5GenericDiffHighlighter):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import collections @@ -26,13 +22,12 @@ from E5Gui.E5Application import e5App from E5Gui import E5MessageBox, E5FileDialog -from Globals import qVersionTuple +from Globals import qVersionTuple, strToQByteArray from .Ui_GitLogBrowserDialog import Ui_GitLogBrowserDialog from .GitDiffHighlighter import GitDiffHighlighter from .GitDiffGenerator import GitDiffGenerator -from .GitUtilities import strToQByteArray import UI.PixmapCache import Preferences
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitPatchStatisticsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitPatchStatisticsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitReflogBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitReflogBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os @@ -24,9 +20,8 @@ from .Ui_GitReflogBrowserDialog import Ui_GitReflogBrowserDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitReflogBrowserDialog(QWidget, Ui_GitReflogBrowserDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitRemoteRepositoriesDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitRemoteRepositoriesDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os @@ -23,9 +19,8 @@ from .Ui_GitRemoteRepositoriesDialog import Ui_GitRemoteRepositoriesDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitRemoteRepositoriesDialog(QWidget, Ui_GitRemoteRepositoriesDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitStashBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitStashBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os @@ -24,9 +20,8 @@ from .Ui_GitStashBrowserDialog import Ui_GitStashBrowserDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitStashBrowserDialog(QWidget, Ui_GitStashBrowserDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitStatusDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitStatusDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import tempfile @@ -25,14 +21,13 @@ from E5Gui.E5Application import e5App from E5Gui import E5MessageBox -from Globals import qVersionTuple +from Globals import qVersionTuple, strToQByteArray from .Ui_GitStatusDialog import Ui_GitStatusDialog from .GitDiffHighlighter import GitDiffHighlighter from .GitDiffGenerator import GitDiffGenerator from .GitDiffParser import GitDiffParser -from .GitUtilities import strToQByteArray import Preferences import UI.PixmapCache
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitStatusMonitorThread.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitStatusMonitorThread.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import QProcess
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitSubmodulesStatusDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitSubmodulesStatusDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitTagBranchListDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitTagBranchListDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os @@ -23,9 +19,8 @@ from .Ui_GitTagBranchListDialog import Ui_GitTagBranchListDialog -from .GitUtilities import strToQByteArray - import Preferences +from Globals import strToQByteArray class GitTagBranchListDialog(QDialog, Ui_GitTagBranchListDialog):
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitUtilities.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitUtilities.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,9 +10,8 @@ from __future__ import unicode_literals import os -import sys -from PyQt5.QtCore import QProcessEnvironment, QByteArray +from PyQt5.QtCore import QProcessEnvironment import Utilities @@ -45,23 +44,3 @@ env.insert("LANGUAGE", language) proc.setProcessEnvironment(env) - - -try: - from Globals import strToQByteArray -except ImportError: - def strToQByteArray(txt): - """ - Module function to convert a Python string into a QByteArray. - - @param txt Python string to be converted - @type str, bytes, bytearray, unicode - """ - if sys.version_info[0] == 2: - if isinstance(txt, unicode): # __IGNORE_WARNING__ - txt = txt.encode("utf-8") - else: - if isinstance(txt, str): - txt = txt.encode("utf-8") - - return QByteArray(txt)
--- a/eric6/Plugins/VcsPlugins/vcsGit/git.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/git.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import shutil
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import re
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgClient.py Sat Aug 31 12:58:11 2019 +0200 @@ -7,11 +7,6 @@ Module implementing an interface to the Mercurial command server. """ -try: - str = unicode -except NameError: - pass - import struct import io
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import pyqtSlot, QFileInfo, Qt from PyQt5.QtGui import QTextCursor, QCursor
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgExtensionProjectBrowserHelper.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgExtensionProjectBrowserHelper.py Sat Aug 31 12:58:11 2019 +0200 @@ -11,6 +11,7 @@ from __future__ import unicode_literals from PyQt5.QtCore import QObject +from PyQt5.QtWidgets import QMenu class HgExtensionProjectBrowserHelper(QObject): @@ -48,6 +49,14 @@ reimplemented """ raise NotImplementedError + + return { + 'mainMenu': QMenu(), + 'multiMenu': QMenu(), + 'backMenu': QMenu(), + 'dirMenu': QMenu(), + 'dirMultiMenu': QMenu(), + } def menuTitle(self): """ @@ -60,6 +69,8 @@ reimplemented """ raise NotImplementedError + + return "" def showExtensionMenu(self, key, controlled): """
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgExtensionProjectHelper.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgExtensionProjectHelper.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,6 +10,7 @@ from __future__ import unicode_literals from PyQt5.QtCore import QObject +from PyQt5.QtWidgets import QMenu class HgExtensionProjectHelper(QObject): @@ -71,6 +72,8 @@ reimplemented """ raise NotImplementedError + + return QMenu() def menuTitle(self): """ @@ -83,6 +86,8 @@ reimplemented """ raise NotImplementedError + + return "" def shutdown(self): """
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import re
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgServeDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgServeDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusMonitorThread.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusMonitorThread.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import QProcess
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgSummaryDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgSummaryDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgTagBranchListDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgTagBranchListDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,6 +10,7 @@ from __future__ import unicode_literals import os +from configparser import ConfigParser from PyQt5.QtCore import pyqtSlot, Qt, QEvent from PyQt5.QtWidgets import QDialog, QTreeWidgetItem @@ -18,7 +19,6 @@ from E5Gui import E5MessageBox import Globals -from Globals.E5ConfigParser import E5ConfigParser from .HgUtilities import getConfigPath from .HgUserConfigHostFingerprintDialog import \ @@ -104,7 +104,7 @@ Public method to write the user configuration file. """ if self.__config is None: - self.__config = E5ConfigParser() + self.__config = ConfigParser() ################################################################### ## ui section @@ -307,7 +307,7 @@ """ cfgFile = getConfigPath() - self.__config = E5ConfigParser(delimiters=("=",)) + self.__config = ConfigParser(delimiters=("=",)) if self.__config.read(cfgFile): # step 1: extract user name and email try:
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgUtilities.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgUtilities.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import re
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditEditor.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditEditor.py Sat Aug 31 12:58:11 2019 +0200 @@ -22,11 +22,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/purge.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/purge.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesHeaderDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesHeaderDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListAllGuardsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListAllGuardsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListGuardsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListGuardsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesQueueManagementDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QCoreApplication from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QAbstractItemView, \
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import shutil
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnBlameDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnBlameDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,7 +10,6 @@ from __future__ import unicode_literals import os -import sys import pysvn @@ -78,9 +77,6 @@ for annotation in annotations: author = annotation["author"] line = annotation["line"] - if sys.version_info[0] == 2: - author = author.decode('utf-8') - line = line.decode('utf-8') self.__generateItem( annotation["revision"].number, author, annotation["number"] + 1, line)
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnChangeListsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnChangeListsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,7 +10,6 @@ from __future__ import unicode_literals import os -import sys import pysvn @@ -90,9 +89,6 @@ for entry in entries: file = entry[0] changelist = entry[1] - if sys.version_info[0] == 2: - file = file.decode('utf-8') - changelist = changelist.decode('utf-8') if changelist not in self.changeListsDict: self.changeListsDict[changelist] = [] filename = file.replace(path + os.sep, "")
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -11,7 +11,6 @@ from __future__ import unicode_literals import os -import sys import pysvn @@ -224,8 +223,6 @@ diff_list = [] for diff_sum in diff_summary: path = diff_sum['path'] - if sys.version_info[0] == 2: - path = path.decode('utf-8') diff_list.append("{0} {1}".format( self.__getDiffSummaryKind( diff_sum['summarize_kind']), @@ -237,8 +234,6 @@ url1, revision1=rev1, url_or_path2=url2, revision2=rev2, recurse=recurse) - if sys.version_info[0] == 2: - diffText = diffText.decode('utf-8') else: if pegRev is not None: diffText = self.client.diff_peg( @@ -250,8 +245,6 @@ diffText = self.client.diff( tmpdir, name, revision1=rev1, revision2=rev2, recurse=recurse) - if sys.version_info[0] == 2: - diffText = diffText.decode('utf-8') counter = 0 for line in diffText.splitlines(): if line.startswith("--- ") or \
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnInfoDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnInfoDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -11,7 +11,6 @@ from __future__ import unicode_literals import os -import sys import pysvn @@ -67,8 +66,6 @@ entries = self.client.info2(fn, recurse=False) infoStr = "<table>" for path, info in entries: - if sys.version_info[0] == 2: - path = path.decode('utf-8') infoStr += self.tr( "<tr><td><b>Path (relative to project):</b></td>" "<td>{0}</td></tr>").format(path)
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,7 +10,6 @@ from __future__ import unicode_literals import os -import sys import pysvn @@ -309,9 +308,6 @@ for log in logs: author = log["author"] message = log["message"] - if sys.version_info[0] == 2: - author = author.decode('utf-8') - message = message.decode('utf-8') self.__generateLogItem( author, log["date"], message, log["revision"], log['changed_paths'])
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnPropListDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnPropListDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -11,7 +11,6 @@ from __future__ import unicode_literals import os -import sys import pysvn @@ -121,12 +120,7 @@ proplist = self.client.proplist(name, recurse=recursive) counter = 0 for path, prop in proplist: - if sys.version_info[0] == 2: - path = path.decode('utf-8') for propName, propVal in list(prop.items()): - if sys.version_info[0] == 2: - propName = propName.decode('utf-8') - propVal = propVal.decode('utf-8') self.__generateItem(path, propName, propVal) self.propsFound = True counter += 1
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -11,7 +11,6 @@ from __future__ import unicode_literals import os -import sys import pysvn @@ -326,9 +325,6 @@ depth = pysvn.depth.immediate changelists = self.client.get_changelist(name, depth=depth) for fpath, changelist in changelists: - if sys.version_info[0] == 2: - fpath = fpath.decode('utf-8') - changelist = changelist.decode('utf-8') fpath = Utilities.normcasepath(fpath) changelistsDict[fpath] = changelist hideChangelistColumn = hideChangelistColumn and \
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,9 +10,9 @@ from __future__ import unicode_literals import os -import sys import shutil import time +from urllib.parse import quote from PyQt5.QtCore import Qt, QMutexLocker, pyqtSignal, QRegExp, QDateTime, \ QCoreApplication @@ -1075,10 +1075,9 @@ reposRoot = rx_base.cap(1) if tagOp in [1, 4]: - url = '{0}/tags/{1}'.format(reposRoot, Utilities.quote(tag)) + url = '{0}/tags/{1}'.format(reposRoot, quote(tag)) elif tagOp in [2, 8]: - url = '{0}/branches/{1}'.format( - reposRoot, Utilities.quote(tag)) + url = '{0}/branches/{1}'.format(reposRoot, quote(tag)) else: url = self.__svnURL(tag) @@ -1219,10 +1218,9 @@ reposRoot = rx_base.cap(1) tn = tag if tagType == 1: - url = '{0}/tags/{1}'.format(reposRoot, Utilities.quote(tag)) + url = '{0}/tags/{1}'.format(reposRoot, quote(tag)) elif tagType == 2: - url = '{0}/branches/{1}'.format( - reposRoot, Utilities.quote(tag)) + url = '{0}/branches/{1}'.format(reposRoot, quote(tag)) elif tagType == 4: url = '{0}/trunk'.format(reposRoot) tn = 'HEAD' @@ -1725,8 +1723,6 @@ apiVersion = QCoreApplication.translate('subversion', "unknown") hmsz = time.strftime("%H:%M:%S %Z", time.localtime(entry.commit_time)) - if sys.version_info[0] == 2: - hmsz = hmsz.decode(sys.getfilesystemencoding()) return QCoreApplication.translate( 'subversion', """<h3>Repository information</h3>""" @@ -2486,8 +2482,6 @@ depth=pysvn.depth.infinity) for entry in entries: changelist = entry[1] - if sys.version_info[0] == 2: - changelist = changelist.decode('utf-8') if changelist not in changelists: changelists.append(changelist) except pysvn.ClientError: @@ -2534,20 +2528,18 @@ scheme = url[0] host = url[1] port, path = url[2].split("/", 1) - return "{0}:{1}:{2}/{3}".format(scheme, host, port, - Utilities.quote(path)) + return "{0}:{1}:{2}/{3}".format(scheme, host, port, quote(path)) else: scheme = url[0] if scheme == "file": - return "{0}:{1}".format(scheme, Utilities.quote(url[1])) + return "{0}:{1}".format(scheme, quote(url[1])) else: try: host, path = url[1][2:].split("/", 1) except ValueError: host = url[1][2:] path = "" - return "{0}://{1}/{2}".format(scheme, host, - Utilities.quote(path)) + return "{0}://{1}/{2}".format(scheme, host, quote(path)) def svnNormalizeURL(self, url): """
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnBlameDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnBlameDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnChangeListsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnChangeListsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDiffDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDiffDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnPropListDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnPropListDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import pyqtSlot, QTimer, QProcess, QProcessEnvironment, \ QRegExp, Qt
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnRepoBrowserDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnRepoBrowserDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnStatusMonitorThread.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnStatusMonitorThread.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import QRegExp, QProcess
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnTagBranchListDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnTagBranchListDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/subversion.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/subversion.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,14 +8,11 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import re import shutil +from urllib.parse import quote from PyQt5.QtCore import pyqtSignal, QProcess, QRegExp, QCoreApplication from PyQt5.QtWidgets import QLineEdit, QDialog, QInputDialog, QApplication @@ -994,10 +991,9 @@ reposRoot = rx_base.cap(1) if tagOp in [1, 4]: - url = '{0}/tags/{1}'.format(reposRoot, Utilities.quote(tag)) + url = '{0}/tags/{1}'.format(reposRoot, quote(tag)) elif tagOp in [2, 8]: - url = '{0}/branches/{1}'.format( - reposRoot, Utilities.quote(tag)) + url = '{0}/branches/{1}'.format(reposRoot, quote(tag)) else: url = self.__svnURL(tag) @@ -1117,10 +1113,9 @@ reposRoot = rx_base.cap(1) tn = tag if tagType == 1: - url = '{0}/tags/{1}'.format(reposRoot, Utilities.quote(tag)) + url = '{0}/tags/{1}'.format(reposRoot, quote(tag)) elif tagType == 2: - url = '{0}/branches/{1}'.format( - reposRoot, Utilities.quote(tag)) + url = '{0}/branches/{1}'.format(reposRoot, quote(tag)) elif tagType == 4: url = '{0}/trunk'.format(reposRoot) tn = 'HEAD' @@ -2307,20 +2302,18 @@ scheme = url[0] host = url[1] port, path = url[2].split("/", 1) - return "{0}:{1}:{2}/{3}".format( - scheme, host, port, Utilities.quote(path)) + return "{0}:{1}:{2}/{3}".format(scheme, host, port, quote(path)) else: scheme = url[0] if scheme == "file": - return "{0}:{1}".format(scheme, Utilities.quote(url[1])) + return "{0}:{1}".format(scheme, quote(url[1])) else: try: host, path = url[1][2:].split("/", 1) except ValueError: host = url[1][2:] path = "" - return "{0}://{1}/{2}".format( - scheme, host, Utilities.quote(path)) + return "{0}://{1}/{2}".format(scheme, host, quote(path)) def svnNormalizeURL(self, url): """
--- a/eric6/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -409,14 +409,8 @@ flags |= re.DOTALL if self.verboseCheckBox.isChecked(): flags |= re.VERBOSE - if self.py2Button.isChecked(): - if self.localeCheckBox.isChecked(): - flags |= re.LOCALE - if self.unicodeCheckBox.isChecked(): - flags |= re.UNICODE - else: - if self.unicodeCheckBox.isChecked(): - flags |= re.ASCII + if self.unicodeCheckBox.isChecked(): + flags |= re.ASCII re.compile(regex, flags) E5MessageBox.information( self, @@ -465,14 +459,8 @@ flags |= re.DOTALL if self.verboseCheckBox.isChecked(): flags |= re.VERBOSE - if self.py2Button.isChecked(): - if self.localeCheckBox.isChecked(): - flags |= re.LOCALE - if self.unicodeCheckBox.isChecked(): - flags |= re.UNICODE - else: - if self.unicodeCheckBox.isChecked(): - flags |= re.ASCII + if self.unicodeCheckBox.isChecked(): + flags |= re.ASCII regobj = re.compile(regex, flags) matchobj = regobj.search(text, startpos) if matchobj is not None: @@ -608,31 +596,6 @@ """ self.nextButton.setEnabled(False) - @pyqtSlot(bool) - def on_py2Button_toggled(self, checked): - """ - Private slot called when the Python version was selected. - - @param checked state of the Python 2 button (boolean) - """ - # set the checkboxes - self.localeCheckBox.setEnabled(checked) - if checked: - self.unicodeCheckBox.setText(self.tr("Unicode")) - else: - self.unicodeCheckBox.setText(self.tr("ASCII")) - self.unicodeCheckBox.setChecked(not self.unicodeCheckBox.isChecked()) - - # clear the result table - self.resultTable.clear() - self.resultTable.setColumnCount(0) - self.resultTable.setRowCount(0) - - # remove the highlight - tc = self.textTextEdit.textCursor() - tc.setPosition(0) - self.textTextEdit.setTextCursor(tc) - def getCode(self, indLevel, indString): """ Public method to get the source code. @@ -662,14 +625,8 @@ flags.append('re.DOTALL') if self.verboseCheckBox.isChecked(): flags.append('re.VERBOSE') - if self.localeCheckBox.isChecked() and \ - self.py2Button.isChecked(): - flags.append('re.LOCALE') if self.unicodeCheckBox.isChecked(): - if self.py2Button.isChecked(): - flags.append('re.UNICODE') - else: - flags.append('re.ASCII') + flags.append('re.ASCII') flags = " | ".join(flags) code = ''
--- a/eric6/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.ui Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.ui Sat Aug 31 12:58:11 2019 +0200 @@ -18,51 +18,6 @@ </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> - <widget class="QGroupBox" name="versionGroup"> - <property name="title"> - <string>Python Version</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QRadioButton" name="py2Button"> - <property name="statusTip"> - <string/> - </property> - <property name="text"> - <string>Python 2</string> - </property> - <property name="checked"> - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="py3Button"> - <property name="text"> - <string>Python 3</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>535</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - </item> - <item> <layout class="QHBoxLayout"> <item> <widget class="QLabel" name="variableLabel"> @@ -428,13 +383,6 @@ </property> </widget> </item> - <item row="1" column="2"> - <widget class="QCheckBox" name="unicodeCheckBox"> - <property name="text"> - <string>ASCII</string> - </property> - </widget> - </item> <item row="1" column="0"> <widget class="QCheckBox" name="verboseCheckBox"> <property name="text"> @@ -453,12 +401,9 @@ </widget> </item> <item row="1" column="1"> - <widget class="QCheckBox" name="localeCheckBox"> - <property name="enabled"> - <bool>false</bool> - </property> + <widget class="QCheckBox" name="unicodeCheckBox"> <property name="text"> - <string>Observe Locale</string> + <string>ASCII</string> </property> </widget> </item> @@ -513,8 +458,6 @@ </widget> <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> <tabstops> - <tabstop>py2Button</tabstop> - <tabstop>py3Button</tabstop> <tabstop>variableLineEdit</tabstop> <tabstop>importCheckBox</tabstop> <tabstop>commentButton</tabstop> @@ -539,13 +482,11 @@ <tabstop>regexpTextEdit</tabstop> <tabstop>textTextEdit</tabstop> <tabstop>caseSensitiveCheckBox</tabstop> + <tabstop>multilineCheckBox</tabstop> + <tabstop>dotallCheckBox</tabstop> <tabstop>verboseCheckBox</tabstop> - <tabstop>multilineCheckBox</tabstop> - <tabstop>localeCheckBox</tabstop> - <tabstop>dotallCheckBox</tabstop> <tabstop>unicodeCheckBox</tabstop> <tabstop>resultTable</tabstop> - <tabstop>buttonBox</tabstop> </tabstops> <resources/> <connections/>
--- a/eric6/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_WARNING__ -except NameError: - pass import os import sys
--- a/eric6/Preferences/ConfigurationPages/HelpDocumentationPage.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Preferences/ConfigurationPages/HelpDocumentationPage.py Sat Aug 31 12:58:11 2019 +0200 @@ -62,11 +62,6 @@ self.pyside2DocDirPicker.setFilters(self.tr( "HTML Files (*.html *.htm);;All Files (*)")) - try: - import PyQt5 # __IGNORE_WARNING__ - except ImportError: - self.pyqt5Group.setEnabled(False) - pyside_py2, pyside_py3 = Utilities.checkPyside("1") if pyside_py2 or pyside_py3: self.pysideGroup.setEnabled(True)
--- a/eric6/Preferences/ProgramsDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Preferences/ProgramsDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import re @@ -144,7 +140,7 @@ # 2.1b. Forms Compiler PyQt4 self.__createProgramEntry( self.tr("Forms Compiler (Python, PyQt4)"), - Utilities.generatePyQtToolPath("pyuic4", ["py3uic4", "py2uic4"]), + Utilities.generatePyQtToolPath("pyuic4", ["py3uic4"]), '--version', 'Python User', 4) # 2.1c. Resource Compiler PyQt4 self.__createProgramEntry( @@ -161,7 +157,7 @@ # 2.2b. Forms Compiler PyQt5 self.__createProgramEntry( self.tr("Forms Compiler (Python, PyQt5)"), - Utilities.generatePyQtToolPath("pyuic5", ["py3uic5", "py2uic5"]), + Utilities.generatePyQtToolPath("pyuic5", ["py3uic5"]), '--version', 'Python User', 4) # 2.2c. Resource Compiler PyQt5 self.__createProgramEntry(
--- a/eric6/Preferences/__init__.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Preferences/__init__.py Sat Aug 31 12:58:11 2019 +0200 @@ -17,10 +17,6 @@ """ from __future__ import unicode_literals -try: - basestring # __IGNORE_WARNING__ -except NameError: - basestring = str import os import fnmatch @@ -116,18 +112,12 @@ "MaxVariableSize": 0, # Bytes, 0 = no limit "BgColorNew": QColor("#28FFEEAA"), "BgColorChanged": QColor("#2870FF66"), - } - debuggerDefaults["AllowedHosts"] = ["127.0.0.1", "::1%0"] - if sys.version_info[0] == 2: + "AllowedHosts": ["127.0.0.1", "::1%0"], # space separated list of Python2 extensions - debuggerDefaults["PythonExtensions"] = ".py .pyw .py2 .pyw2 .ptl" + "PythonExtensions": ".py2 .pyw2 .ptl", # space separated list of Python3 extensions - debuggerDefaults["Python3Extensions"] = ".py3 .pyw3" - else: - # space separated list of Python2 extensions - debuggerDefaults["PythonExtensions"] = ".py2 .pyw2 .ptl" - # space separated list of Python3 extensions - debuggerDefaults["Python3Extensions"] = ".py .pyw .py3 .pyw3" + "Python3Extensions": ".py .pyw .py3 .pyw3" + } # defaults for the UI settings uiDefaults = { @@ -3019,7 +3009,7 @@ download["Downloaded"] = prefClass.settings.value("Downloaded") if download["Downloaded"] is None: download["Downloaded"] = QDateTime() - elif isinstance(download["Downloaded"], basestring): + elif isinstance(download["Downloaded"], str): download["Downloaded"] = QDateTime.fromString( download["Downloaded"], "yyyy-MM-dd hh:mm:ss") downloads.append(download)
--- a/eric6/Project/CreateDialogCodeDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/CreateDialogCodeDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import sys import os
--- a/eric6/Project/Project.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/Project.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os import time
--- a/eric6/Project/ProjectFormsBrowser.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/ProjectFormsBrowser.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import sys @@ -674,17 +670,17 @@ ["Python", "Python2", "Python3"]: if self.project.getProjectType() in ["Qt4", ]: self.__uicompiler = Utilities.generatePyQtToolPath( - 'pyuic4', ["py3uic4", "py2uic4"]) + 'pyuic4', ["py3uic4"]) elif self.project.getProjectType() in ["PyQt5"]: self.__uicompiler = Utilities.generatePyQtToolPath( - 'pyuic5', ["py3uic5", "py2uic5"]) + 'pyuic5', ["py3uic5"]) elif self.project.getProjectType() in ["E6Plugin"]: if PYQT_VERSION < 0x050000: self.__uicompiler = Utilities.generatePyQtToolPath( - 'pyuic4', ["py3uic4", "py2uic4"]) + 'pyuic4', ["py3uic4"]) else: self.__uicompiler = Utilities.generatePyQtToolPath( - 'pyuic5', ["py3uic5", "py2uic5"]) + 'pyuic5', ["py3uic5"]) elif self.project.getProjectType() == "PySide": self.__uicompiler = \ Utilities.generatePySideToolPath('pyside-uic', "1")
--- a/eric6/Project/ProjectInterfacesBrowser.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/ProjectInterfacesBrowser.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import glob
--- a/eric6/Project/ProjectProtocolsBrowser.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/ProjectProtocolsBrowser.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import glob
--- a/eric6/Project/ProjectResourcesBrowser.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/ProjectResourcesBrowser.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/Project/ProjectTranslationsBrowser.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/ProjectTranslationsBrowser.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import shutil
--- a/eric6/Project/UicLoadUi.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Project/UicLoadUi.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import print_function -try: - bytes = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import sys import json
--- a/eric6/QScintilla/Editor.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/QScintilla/Editor.py Sat Aug 31 12:58:11 2019 +0200 @@ -7,11 +7,6 @@ Module implementing the editor component of the eric6 IDE. """ from __future__ import unicode_literals -try: - str = unicode - chr = unichr -except NameError: - pass import os import re
--- a/eric6/QScintilla/Exporters/ExporterHTML.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/QScintilla/Exporters/ExporterHTML.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,16 +9,12 @@ from __future__ import unicode_literals -try: # Only for Py2 - import StringIO as io # __IGNORE_EXCEPTION__ -except (ImportError, NameError): - import io # __IGNORE_WARNING__ - # This code is a port of the C++ code found in SciTE 1.74 # Original code: Copyright 1998-2006 by Neil Hodgson <neilh@scintilla.org> import os import sys +import io from PyQt5.QtCore import Qt from PyQt5.QtGui import QCursor, QFontInfo
--- a/eric6/QScintilla/Lexers/__init__.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/QScintilla/Lexers/__init__.py Sat Aug 31 12:58:11 2019 +0200 @@ -140,7 +140,7 @@ "Python3": [QCoreApplication.translate('Lexers', "Python3"), 'dummy.py', "lexerPython3.png"], "MicroPython": [QCoreApplication.translate('Lexers', "MicroPython"), - 'dummy.py', "micropython"], + 'dummy.py', "micropython"], "QSS": [QCoreApplication.translate('Lexers', "QSS"), 'dummy.qss', "lexerCSS.png"], "Ruby": [QCoreApplication.translate('Lexers', "Ruby"), 'dummy.rb',
--- a/eric6/QScintilla/SpellChecker.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/QScintilla/SpellChecker.py Sat Aug 31 12:58:11 2019 +0200 @@ -546,12 +546,3 @@ return self raise StopIteration - - if sys.version_info.major == 2: - def next(self): - """ - Public method to advance to the next error. - - @return self - """ - return self.__next__()
--- a/eric6/QScintilla/TypingCompleters/CompleterPython.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/QScintilla/TypingCompleters/CompleterPython.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - chr = unichr -except NameError: - pass import re
--- a/eric6/Toolbox/PyQt4ImportHook.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Toolbox/PyQt4ImportHook.py Sat Aug 31 12:58:11 2019 +0200 @@ -94,12 +94,3 @@ import PyQt5 # __IGNORE_WARNING__ except ImportError: sys.meta_path.insert(0, PyQt4Importer()) - - if sys.version_info[0] == 2: - try: - from PyQt5 import sip - except ImportError: - import sip - sip.setapi('QString', 2) - sip.setapi('QVariant', 2) - sip.setapi('QTextStream', 2)
--- a/eric6/UI/BrowserModel.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/BrowserModel.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,13 +8,8 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os -import sys import fnmatch import json @@ -1149,7 +1144,7 @@ elif self.isJavaScriptFile(): pixName = "fileJavascript.png" self._populated = False - self._lazyPopulation = sys.version_info[0] == 3 + self._lazyPopulation = True self._moduleName = os.path.basename(finfo) else: pixName = "fileMisc.png"
--- a/eric6/UI/CodeDocumentationViewer.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/CodeDocumentationViewer.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - basestring # __IGNORE_WARNING__ -except NameError: - basestring = str from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QTimer from PyQt5.QtGui import QCursor
--- a/eric6/UI/CompareDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/CompareDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - basestring # __IGNORE_WARNING__ -except NameError: - basestring = str import re from difflib import _mdiff, IS_CHARACTER_JUNK @@ -288,9 +284,9 @@ self.diffButton.setEnabled(False) self.diffButton.hide() - if isinstance(lines1, basestring): + if isinstance(lines1, str): lines1 = lines1.splitlines(True) - if isinstance(lines2, basestring): + if isinstance(lines2, str): lines2 = lines2.splitlines(True) self.__compare(lines1, lines2)
--- a/eric6/UI/FindFileDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/FindFileDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -11,7 +11,6 @@ import os import re -import sys from PyQt5.QtCore import pyqtSignal, Qt, pyqtSlot from PyQt5.QtGui import QCursor @@ -387,10 +386,7 @@ txt = re.escape(ct) if wo: txt = "\\b{0}\\b".format(txt) - if sys.version_info[0] == 2: - flags = re.UNICODE | re.LOCALE - else: - flags = re.UNICODE + flags = re.UNICODE if not cs: flags |= re.IGNORECASE try:
--- a/eric6/UI/Previewers/PreviewerHTML.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/Previewers/PreviewerHTML.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,18 +9,13 @@ from __future__ import unicode_literals -try: # Only for Py2 - import StringIO as io # __IGNORE_EXCEPTION__ - str = unicode -except (ImportError, NameError): - import io # __IGNORE_WARNING__ - import os import threading import re import shutil import tempfile import sys +import io from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QSize, QThread from PyQt5.QtGui import QCursor
--- a/eric6/UI/PythonAstViewer.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/PythonAstViewer.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,11 +10,6 @@ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass - import ast from PyQt5.QtCore import pyqtSlot, Qt, QTimer
--- a/eric6/UI/SymbolsWidget.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/SymbolsWidget.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,17 +9,9 @@ from __future__ import unicode_literals -try: - # Py2 - str = unicode - chr = unichr - import htmlentitydefs as html_entities -except (NameError, ImportError): - # Py3 - import html.entities as html_entities - import sys import unicodedata +import html.entities from PyQt5.QtCore import pyqtSlot, pyqtSignal, QAbstractTableModel, \ QModelIndex, Qt, QItemSelectionModel, QLocale @@ -372,9 +364,9 @@ elif col == 2: return "0x{0:04x}".format(symbolId) elif col == 3: - if symbolId in html_entities.codepoint2name: + if symbolId in html.entities.codepoint2name: return "&{0};".format( - html_entities.codepoint2name[symbolId]) + html.entities.codepoint2name[symbolId]) elif col == 4: return unicodedata.name(chr(symbolId), '').title()
--- a/eric6/UI/UserInterface.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/UI/UserInterface.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os import sys @@ -1982,7 +1978,6 @@ self.actions.append(self.condaWidgetActivateAct) self.addAction(self.condaWidgetActivateAct) - # TODO: add action for "MicroPython", Ctrl+Alt+Shift+M if self.microPythonWidget is not None: self.microPythonWidgetActivateAct = E5Action( self.tr('MicroPython'), @@ -2783,25 +2778,21 @@ except ImportError: self.pyqt4DocAct = None - try: - import PyQt5 # __IGNORE_WARNING__ - self.pyqt5DocAct = E5Action( - self.tr('PyQt5 Documentation'), - self.tr('PyQt&5 Documentation'), - 0, 0, self, 'pyqt5_documentation') - self.pyqt5DocAct.setStatusTip(self.tr( - 'Open PyQt5 Documentation')) - self.pyqt5DocAct.setWhatsThis(self.tr( - """<b>PyQt5 Documentation</b>""" - """<p>Display the PyQt5 Documentation. Dependent upon your""" - """ settings, this will either show the help in Eric's""" - """ internal help viewer/web browser, or execute a web""" - """ browser or Qt Assistant. </p>""" - )) - self.pyqt5DocAct.triggered.connect(self.__showPyQt5Doc) - self.actions.append(self.pyqt5DocAct) - except ImportError: - self.pyqt5DocAct = None + self.pyqt5DocAct = E5Action( + self.tr('PyQt5 Documentation'), + self.tr('PyQt&5 Documentation'), + 0, 0, self, 'pyqt5_documentation') + self.pyqt5DocAct.setStatusTip(self.tr( + 'Open PyQt5 Documentation')) + self.pyqt5DocAct.setWhatsThis(self.tr( + """<b>PyQt5 Documentation</b>""" + """<p>Display the PyQt5 Documentation. Dependent upon your""" + """ settings, this will either show the help in Eric's""" + """ internal help viewer/web browser, or execute a web""" + """ browser or Qt Assistant. </p>""" + )) + self.pyqt5DocAct.triggered.connect(self.__showPyQt5Doc) + self.actions.append(self.pyqt5DocAct) def __initPythonDocActions(self): """
--- a/eric6/Utilities/BackgroundService.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Utilities/BackgroundService.py Sat Aug 31 12:58:11 2019 +0200 @@ -139,8 +139,7 @@ self.__processQueue() else: packedData = json.dumps([fx, fn, data]) - if sys.version_info[0] == 3: - packedData = bytes(packedData, 'utf-8') + packedData = bytes(packedData, 'utf-8') header = struct.pack( b'!II', len(packedData), adler32(packedData) & 0xffffffff) connection.write(header) @@ -171,8 +170,7 @@ assert adler32(packedData) & 0xffffffff == datahash, \ 'Hashes not equal' - if sys.version_info[0] == 3: - packedData = packedData.decode('utf-8') + packedData = packedData.decode('utf-8') # "check" if is's a tuple of 3 values fx, fn, data = json.loads(packedData) @@ -385,8 +383,7 @@ if not connection.waitForReadyRead(1000): return lang = connection.read(64) - if sys.version_info[0] == 3: - lang = lang.decode('utf-8') + lang = lang.decode('utf-8') # Avoid hanging of eric on shutdown if self.connections.get(lang): self.connections[lang].close()
--- a/eric6/Utilities/ClassBrowsers/__init__.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Utilities/ClassBrowsers/__init__.py Sat Aug 31 12:58:11 2019 +0200 @@ -23,7 +23,6 @@ import os import imp -import sys import Preferences @@ -78,7 +77,7 @@ from . import rbclbr dictionary = rbclbr.readmodule_ex(module, path) rbclbr._modules.clear() - elif ext in __extensions["JavaScript"] and sys.version_info[0] == 3: + elif ext in __extensions["JavaScript"]: from . import jsclbr dictionary = jsclbr.readmodule_ex(module, path) jsclbr._modules.clear()
--- a/eric6/Utilities/__init__.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Utilities/__init__.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,22 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode - import locale - import urllib - - def quote(url): - """ - Replacement for the urllib.quote function because of unicode problems. - - @param url text to quote (string) - @return quoted url (string) - """ - return urllib.quote(url.encode('utf-8')) -except NameError: - basestring = str - from urllib.parse import quote # __IGNORE_WARNING__ import os import sys @@ -623,7 +607,7 @@ @return dictionary of string, boolean, complex, float and int """ flags = {} - if isinstance(text, basestring): + if isinstance(text, str): lines = text.rstrip().splitlines() else: lines = text @@ -1530,9 +1514,6 @@ if isWindowsPlatform(): if not user: return win32_GetUserName() - else: - if sys.version_info[0] == 2: - user = user.decode(locale.getpreferredencoding()) return user @@ -1653,7 +1634,7 @@ elif ext in py3Ext and ext not in py2Ext: pyVer = 3 elif source: - if isinstance(source, basestring): + if isinstance(source, str): line0 = source.splitlines()[0] else: line0 = source[0]
--- a/eric6/Utilities/binplistlib.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/Utilities/binplistlib.py Sat Aug 31 12:58:11 2019 +0200 @@ -53,10 +53,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass # # Ported from the Python 2 biplist.py script.
--- a/eric6/VCS/StatusMonitorThread.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/VCS/StatusMonitorThread.py Sat Aug 31 12:58:11 2019 +0200 @@ -203,6 +203,8 @@ implemented by a subclass """ raise RuntimeError('Not implemented') + + return tuple() def _getInfo(self): """
--- a/eric6/VCS/VersionControl.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/VCS/VersionControl.py Sat Aug 31 12:58:11 2019 +0200 @@ -97,6 +97,8 @@ """ raise RuntimeError('Not implemented') + return (False, "") + def vcsInit(self, vcsDir, noDialog=False): """ Public method used to initialize the vcs. @@ -109,6 +111,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsConvertProject(self, vcsDataDict, project, addAll=True): """ Public method to convert an uncontrolled project to a version @@ -138,13 +142,15 @@ @param addAll flag indicating to add all files to the repository @type bool @return tuple containing a flag indicating an execution without errors - and a flag indicating the version controll status + and a flag indicating the version control status @rtype tuple of (bool, bool) @exception RuntimeError to indicate that this method must be implemented by a subclass """ raise RuntimeError('Not implemented') + return (False, False) + def vcsCheckout(self, vcsDataDict, projectDir, noDialog=False): """ Public method used to check the project out of the vcs. @@ -158,6 +164,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsExport(self, vcsDataDict, projectDir): """ Public method used to export a directory from the vcs. @@ -170,6 +178,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsCommit(self, name, message, noDialog=False): """ Public method used to make the change of a file/directory permanent in @@ -184,6 +194,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsUpdate(self, name, noDialog=False): """ Public method used to update a file/directory in the vcs. @@ -197,6 +209,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsAdd(self, name, isDir=False, noDialog=False): """ Public method used to add a file/directory in the vcs. @@ -243,6 +257,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsMove(self, name, project, target=None, noDialog=False): """ Public method used to move a file/directory. @@ -257,6 +273,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsLogBrowser(self, name, isFile=False): """ Public method used to view the log of a file/directory in the vcs @@ -322,6 +340,8 @@ """ raise RuntimeError('Not implemented') + return False + def vcsMerge(self, name): """ Public method used to merge a tag/branch into the local project. @@ -344,6 +364,8 @@ """ raise RuntimeError('Not implemented') + return 0 + def vcsAllRegisteredStates(self, names, dname): """ Public method used to get the registered states of a number of files @@ -358,6 +380,8 @@ """ raise RuntimeError('Not implemented') + return {} + def vcsName(self): """ Public method returning the name of the vcs. @@ -368,6 +392,8 @@ """ raise RuntimeError('Not implemented') + return "" + def vcsCleanup(self, name): """ Public method used to cleanup the local copy. @@ -424,6 +450,8 @@ """ raise RuntimeError('Not implemented') + return "" + def vcsGetProjectBrowserHelper(self, browser, project, isTranslationsBrowser=False): """ @@ -440,6 +468,8 @@ """ raise RuntimeError('Not implemented') + return None # __IGNORE_WARNING_M831__ + def vcsGetProjectHelper(self, project): """ Public method to instanciate a helper object for the project. @@ -450,6 +480,8 @@ implemented by a subclass """ raise RuntimeError('Not implemented') + + return None # __IGNORE_WARNING_M831__ ##################################################################### ## methods above need to be implemented by a subclass
--- a/eric6/ViewManager/ViewManager.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/ViewManager/ViewManager.py Sat Aug 31 12:58:11 2019 +0200 @@ -339,6 +339,8 @@ """ raise RuntimeError('Not implemented') + return False + def canTile(self): """ Public method to signal if tiling of managed windows is available. @@ -348,6 +350,8 @@ """ raise RuntimeError('Not implemented') + return False + def tile(self): """ Public method to tile the managed windows. @@ -373,6 +377,8 @@ """ raise RuntimeError('Not implemented') + return None # __IGNORE_WARNING_M831__ + def _removeAllViews(self): """ Protected method to remove all views (i.e. windows).
--- a/eric6/VirtualEnv/VirtualenvConfigurationDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/VirtualEnv/VirtualenvConfigurationDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import sys
--- a/eric6/VirtualEnv/VirtualenvExecDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/VirtualEnv/VirtualenvExecDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import sys import os
--- a/eric6/WebBrowser/Bookmarks/NsHtmlReader.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/Bookmarks/NsHtmlReader.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import QObject, QIODevice, QFile, QRegExp, Qt, QDateTime
--- a/eric6/WebBrowser/Feeds/FeedsManager.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/Feeds/FeedsManager.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QXmlStreamReader from PyQt5.QtGui import QCursor
--- a/eric6/WebBrowser/FlashCookieManager/FlashCookieManager.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/FlashCookieManager/FlashCookieManager.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,11 +9,6 @@ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass - import shutil from PyQt5.QtCore import QObject, QTimer, QDir, QFileInfo, QFile
--- a/eric6/WebBrowser/QtHelp/QtHelpDocumentationSelectionDialog.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/QtHelp/QtHelpDocumentationSelectionDialog.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os import shutil
--- a/eric6/WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import json import base64
--- a/eric6/WebBrowser/SafeBrowsing/SafeBrowsingCache.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingCache.py Sat Aug 31 12:58:11 2019 +0200 @@ -22,7 +22,6 @@ QCoreApplication, QEventLoop from PyQt5.QtSql import QSql, QSqlDatabase, QSqlQuery -from .SafeBrowsingUtilities import toHex from .SafeBrowsingThreatList import ThreatList @@ -593,7 +592,7 @@ query.prepare(queryStr) query.addBindValue(QByteArray(prefix), QSql.In | QSql.Binary) - query.addBindValue(toHex(prefix[:4])) + query.addBindValue(prefix[:4].hex()) query.addBindValue(threatList.threatType) query.addBindValue(threatList.platformType) query.addBindValue(threatList.threatEntryType)
--- a/eric6/WebBrowser/SafeBrowsing/SafeBrowsingManager.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingManager.py Sat Aug 31 12:58:11 2019 +0200 @@ -31,7 +31,6 @@ from .SafeBrowsingCache import SafeBrowsingCache from .SafeBrowsingThreatList import ThreatList, HashPrefixList from .SafeBrowsingUrl import SafeBrowsingUrl -from .SafeBrowsingUtilities import toHex class SafeBrowsingManager(QObject): @@ -427,7 +426,7 @@ @rtype list of ThreatList """ fullHashes = list(fullHashes) - cues = [toHex(fh[:4]) for fh in fullHashes] + cues = [fh[:4].hex() for fh in fullHashes] result = [] matchingPrefixes = {}
--- a/eric6/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,18 +9,12 @@ from __future__ import unicode_literals -try: - import urlparse # Py2 - import urllib # Py2 -except ImportError: - import urllib.parse as urllib - from urllib import parse as urlparse - import re import posixpath import socket import struct import hashlib +import urllib.parse import Preferences @@ -70,7 +64,7 @@ @return unescaped URL string @rtype str """ - uu = urllib.unquote(u) + uu = urllib.parse.unquote(u) if uu == u: return uu else: @@ -86,7 +80,7 @@ @rtype str """ safeChars = '!"$&\'()*+,-./:;<=>?@[\\]^_`{|}~' - return urllib.quote(s, safe=safeChars) + return urllib.parse.quote(s, safe=safeChars) url = self.__url.strip() url = url.replace('\n', '').replace('\r', '').replace('\t', '') @@ -96,10 +90,10 @@ if len(url.split('://')) <= 1: url = Preferences.getWebBrowser("DefaultScheme") + url url = quote(fullUnescape(url)) - urlParts = urlparse.urlsplit(url) + urlParts = urllib.parse.parse.urlsplit(url) if not urlParts[0]: url = Preferences.getWebBrowser("DefaultScheme") + url - urlParts = urlparse.urlsplit(url) + urlParts = urllib.parse.parse.urlsplit(url) protocol = urlParts.scheme host = fullUnescape(urlParts.hostname) path = fullUnescape(urlParts.path) @@ -184,10 +178,10 @@ curPath = curPath + pathParts[i] + '/' yield curPath - protocol, addressStr = urllib.splittype(url) - host, path = urllib.splithost(addressStr) - user, host = urllib.splituser(host) - host, port = urllib.splitport(host) + protocol, addressStr = urllib.parse.splittype(url) + host, path = urllib.parse.splithost(addressStr) + user, host = urllib.parse.splituser(host) + host, port = urllib.parse.splitport(host) host = host.strip('/') seenPermutations = set() for h in hostPermutations(host):
--- a/eric6/WebBrowser/SpeedDial/SpeedDial.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/SpeedDial/SpeedDial.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass import os
--- a/eric6/WebBrowser/Tools/WebBrowserTools.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/Tools/WebBrowserTools.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os import re
--- a/eric6/WebBrowser/UrlBar/FavIconLabel.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/UrlBar/FavIconLabel.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass from PyQt5.QtCore import Qt, QPoint, QMimeData from PyQt5.QtGui import QDrag, QPixmap
--- a/eric6/WebBrowser/UrlBar/UrlBar.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/UrlBar/UrlBar.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass from PyQt5.QtCore import pyqtSlot, Qt, QPointF, QUrl, QDateTime, QTimer, QPoint from PyQt5.QtGui import QColor, QPalette, QLinearGradient, QIcon
--- a/eric6/WebBrowser/VirusTotal/VirusTotalApi.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/VirusTotal/VirusTotalApi.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import json
--- a/eric6/WebBrowser/WebBrowserPage.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/WebBrowserPage.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals, print_function -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass from PyQt5.QtCore import pyqtSlot, pyqtSignal, QUrl, QUrlQuery, QTimer, \ QEventLoop, QPoint, QPointF
--- a/eric6/WebBrowser/WebBrowserView.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/WebBrowserView.py Sat Aug 31 12:58:11 2019 +0200 @@ -9,10 +9,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os
--- a/eric6/WebBrowser/WebBrowserWindow.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/WebBrowserWindow.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import os import shutil
--- a/eric6/WebBrowser/WebInspector.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/WebBrowser/WebInspector.py Sat Aug 31 12:58:11 2019 +0200 @@ -8,10 +8,6 @@ """ from __future__ import unicode_literals -try: - str = unicode # __IGNORE_EXCEPTION__ -except NameError: - pass import json import os
--- a/eric6/eric6.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6.py Sat Aug 31 12:58:11 2019 +0200 @@ -29,14 +29,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ - import StringIO as io # __IGNORE_EXCEPTION__ - import locale -except ImportError: - import io # __IGNORE_WARNING__ - basestring = str - try: try: from PyQt5 import sip # __IGNORE_EXCEPTION__ @@ -49,17 +41,15 @@ import traceback import time import logging +import io try: from PyQt5.QtCore import qWarning, QLibraryInfo, QTimer, QCoreApplication except ImportError: - try: # Py2 - import tkMessageBox as messagebox + try: + from tkinter import messagebox except ImportError: - try: # Py3 - from tkinter import messagebox - except ImportError: - sys.exit(100) + sys.exit(100) messagebox.showerror( "eric6 Error", "PyQt could not be imported. Please make sure" @@ -194,15 +184,13 @@ if distroInfo: versionInfo += "{0}\n{1}".format(separator, distroInfo) - if isinstance(excType, basestring): + if isinstance(excType, str): tbinfo = tracebackobj else: tbinfofile = io.StringIO() traceback.print_tb(tracebackobj, None, tbinfofile) tbinfofile.seek(0) tbinfo = tbinfofile.read() - if sys.version_info[0] == 2: - tbinfo = tbinfo.decode(locale.getpreferredencoding()) errmsg = '{0}: \n{1}'.format(str(excType), str(excValue)) sections = [separator, timeString, separator, errmsg, separator, tbinfo] msg = '\n'.join(sections) @@ -215,10 +203,6 @@ pass if inMainLoop is None: - if sys.version_info[0] == 2: - notice = notice.encode(sys.stdout.encoding, 'replace') - msg = msg.encode(sys.stdout.encoding, 'replace') - versionInfo = versionInfo.encode(sys.stdout.encoding, 'replace') warning = notice + msg + versionInfo print(warning) # __IGNORE_WARNING_M801__ else: @@ -228,8 +212,6 @@ .replace("&", "&")\ .replace(">", ">")\ .replace("<", "<") - if sys.version_info[0] == 2: - warning = warning.encode('utf-8', 'replace') qWarning(warning) @@ -335,8 +317,6 @@ path = os.path.join(pyqtDataDir, "bin") else: path = pyqtDataDir - if sys.version_info[0] == 2: - path = path.encode(sys.getfilesystemencoding()) os.environ["PATH"] = path + os.pathsep + os.environ["PATH"] pluginFile = None
--- a/eric6/eric6_api.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_api.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - import glob import fnmatch
--- a/eric6/eric6_browser.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_browser.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - try: try: from PyQt5 import sip
--- a/eric6/eric6_compare.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_compare.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_configure.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_configure.py Sat Aug 31 12:58:11 2019 +0200 @@ -19,11 +19,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_diff.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_diff.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_doc.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_doc.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - import glob import fnmatch
--- a/eric6/eric6_editor.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_editor.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_hexeditor.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_hexeditor.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_iconeditor.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_iconeditor.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_plugininstall.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_plugininstall.py Sat Aug 31 12:58:11 2019 +0200 @@ -20,11 +20,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_pluginrepository.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_pluginrepository.py Sat Aug 31 12:58:11 2019 +0200 @@ -20,11 +20,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_pluginuninstall.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_pluginuninstall.py Sat Aug 31 12:58:11 2019 +0200 @@ -20,11 +20,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_post_install.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_post_install.py Sat Aug 31 12:58:11 2019 +0200 @@ -65,12 +65,9 @@ @rtype any """ try: - import _winreg as winreg + import winreg except ImportError: - try: - import winreg - except ImportError: - return None + return None try: registryKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, path, 0,
--- a/eric6/eric6_qregexp.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_qregexp.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_qregularexpression.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_qregularexpression.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_re.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_re.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_shell.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_shell.py Sat Aug 31 12:58:11 2019 +0200 @@ -22,11 +22,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_snap.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_snap.py Sat Aug 31 12:58:11 2019 +0200 @@ -20,11 +20,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_sqlbrowser.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_sqlbrowser.py Sat Aug 31 12:58:11 2019 +0200 @@ -20,11 +20,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_tray.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_tray.py Sat Aug 31 12:58:11 2019 +0200 @@ -24,11 +24,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_trpreviewer.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_trpreviewer.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_uipreviewer.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_uipreviewer.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/eric6/eric6_unittest.py Sat Aug 31 12:29:57 2019 +0200 +++ b/eric6/eric6_unittest.py Sat Aug 31 12:58:11 2019 +0200 @@ -21,11 +21,6 @@ import Toolbox.PyQt4ImportHook # __IGNORE_WARNING__ -try: # Only for Py2 - import Globals.compatibility_fixes # __IGNORE_WARNING__ -except (ImportError): - pass - for arg in sys.argv[:]: if arg.startswith("--config="): import Globals
--- a/scripts/create_windows_links.py Sat Aug 31 12:29:57 2019 +0200 +++ b/scripts/create_windows_links.py Sat Aug 31 12:58:11 2019 +0200 @@ -16,14 +16,6 @@ from eric6config import getConfig -# Define file name markers for Python variants -PythonMarkers = { - 2: "_py2", - 3: "_py3", -} - -includePythonVariant = False - def main(argv): """ @@ -32,11 +24,6 @@ @param argv list of command line arguments @type list of str """ - global includePythonVariant - - if "-y" in argv: - includePythonVariant = True - regPath = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" + \ "\\User Shell Folders" @@ -78,12 +65,9 @@ @rtype any """ try: - import _winreg as winreg + import winreg except ImportError: - try: - import winreg - except ImportError: - return None + return None try: registryKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, path, 0, @@ -139,33 +123,15 @@ the link target and the icon target @rtype list of tuples of (str, str, str) """ - global includePythonVariant - - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" - majorVersion, minorVersion = sys.version_info[:2] entriesTemplates = [ ("eric6 (Python {0}.{1}).lnk", - os.path.join(getConfig("bindir"), "eric6" + marker + ".cmd"), + os.path.join(getConfig("bindir"), "eric6.cmd"), os.path.join(getConfig("ericPixDir"), "eric6.ico")), + ("eric6 Browser (Python {0}.{1}).lnk", + os.path.join(getConfig("bindir"), "eric6_browser.cmd"), + os.path.join(getConfig("ericPixDir"), "ericWeb48.ico")), ] - if sys.version_info.major == 2: - entriesTemplates.append(( - "eric6 Browser (Python {0}.{1}).lnk", - os.path.join(getConfig("bindir"), - "eric6_webbrowser" + marker + ".cmd"), - os.path.join(getConfig("ericPixDir"), "ericWeb48.ico") - )) - else: - entriesTemplates.append(( - "eric6 Browser (Python {0}.{1}).lnk", - os.path.join(getConfig("bindir"), - "eric6_browser" + marker + ".cmd"), - os.path.join(getConfig("ericPixDir"), "ericWeb48.ico") - )) return [ (e[0].format(majorVersion, minorVersion), e[1], e[2])
--- a/scripts/install-debugclients.py Sat Aug 31 12:29:57 2019 +0200 +++ b/scripts/install-debugclients.py Sat Aug 31 12:58:11 2019 +0200 @@ -12,17 +12,6 @@ """ 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 sys import os @@ -30,6 +19,7 @@ import compileall import shutil import fnmatch +import io # Define the globals. progName = None @@ -53,7 +43,6 @@ global currDir if sys.platform.startswith("win"): - # different meaning of input between Py2 and Py3 try: input("Press enter to continue...") except (EOFError, SyntaxError): @@ -253,9 +242,8 @@ global progName, modDir, doCleanup, doCompile, distDir global sourceDir - if sys.version_info < (2, 7, 0) or sys.version_info > (3, 9, 9): - print('Sorry, eric6 requires at least Python 2.7 or ' - 'Python 3 for running.') + if sys.version_info < (3, 5, 0) or sys.version_info > (3, 99, 99): + print('Sorry, eric6 requires at least Python 3.5 for running.') exit(5) progName = os.path.basename(argv[0]) @@ -317,7 +305,6 @@ if doCompile: print("\nCompiling source files ...") skipRe = re.compile(r"DebugClients[\\/]Python[\\/]") - # Hide compile errors (mainly because of Py2/Py3 differences) sys.stdout = io.StringIO() if distDir: compileall.compile_dir(
--- a/scripts/install.py Sat Aug 31 12:29:57 2019 +0200 +++ b/scripts/install.py Sat Aug 31 12:58:11 2019 +0200 @@ -10,19 +10,6 @@ """ from __future__ import unicode_literals, print_function -try: - # Python2 only - 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) - input = raw_input # __IGNORE_WARNING__ -except (ImportError): - import io # __IGNORE_WARNING__ import sys import os @@ -32,9 +19,9 @@ import glob import shutil import fnmatch -import codecs import subprocess import time +import io # Define the globals. progName = None @@ -50,7 +37,6 @@ doCleanDesktopLinks = False forceCleanDesktopLinks = False doCompile = True -includePythonVariant = False cfg = {} progLanguages = ["Python", "Ruby", "QSS"] sourceDir = "eric" @@ -63,50 +49,33 @@ macAppBundleName = defaultMacAppBundleName macAppBundlePath = defaultMacAppBundlePath macPythonExe = defaultMacPythonExe -pyqtVariant = "" -pyqtOverride = False # Define blacklisted versions of the prerequisites BlackLists = { "sip": [], - "PyQt4": [], "PyQt5": [], "QScintilla2": [], } PlatformsBlackLists = { "windows": { "sip": [], - "PyQt4": [], "PyQt5": [], "QScintilla2": [], }, "linux": { "sip": [], - "PyQt4": [], "PyQt5": [], "QScintilla2": [], }, "mac": { "sip": [], - "PyQt4": [], "PyQt5": [], "QScintilla2": [], }, } -# Define file name markers for Python variants -PythonMarkers = { - 2: "_py2", - 3: "_py3", -} -# Define a mapping of markers to full text -PythonTextMarkers = { - "_py2": "Python 2", - "_py3": "Python 3", -} - def exit(rcode=0): """ @@ -119,7 +88,6 @@ print() if sys.platform.startswith(("win", "cygwin")): - # different meaning of input between Py2 and Py3 try: input("Press enter to continue...") except (EOFError, SyntaxError): @@ -138,21 +106,20 @@ """ global progName, modDir, distDir, apisDir global macAppBundleName, macAppBundlePath, macPythonExe - global pyqtVariant print() print("Usage:") if sys.platform == "darwin": print(" {0} [-chxyz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]" - " [-m name] [-n path] [-p python] [--no-apis] [--pyqt=version]" + " [-m name] [-n path] [-p python] [--no-apis]" .format(progName)) elif sys.platform.startswith(("win", "cygwin")): print(" {0} [-chxyz] [-a dir] [-b dir] [-d dir] [-f file]" - " [--clean-desktop] [--no-apis] [--pyqt=version]" + " [--clean-desktop] [--no-apis]" .format(progName)) else: print(" {0} [-chxyz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]" - " [--no-apis] [--pyqt=version]" + " [--no-apis]" .format(progName)) print("where:") print(" -h, --help display this help message") @@ -184,13 +151,7 @@ (" --clean-desktop delete desktop links before installation") print(" -x don't perform dependency checks (use on your own" " risk)") - print(" -y add the Python variant to the executable names") print(" -z don't compile the installed python files") - print(" --pyqt=version version of PyQt to be used (one of 4 or 5)") - if pyqtVariant: - print(" (default: {0})".format(pyqtVariant[-1])) - else: - print(" (no PyQt variant found)") print() print("The file given to the -f option must be valid Python code" " defining a") @@ -206,41 +167,12 @@ exit(rcode) -def determinePyQtVariant(): - """ - Module function to determine the PyQt variant to be used. - """ - global pyqtVariant, pyqtOverride - - pyqtVariant = "" - # need to handle the --pyqt= option here - if "--pyqt=4" in sys.argv: - pyqtVariant = "PyQt4" - pyqtOverride = True - elif "--pyqt=5" in sys.argv: - pyqtVariant = "PyQt5" - pyqtOverride = True - else: - try: - import PyQt5 # __IGNORE_WARNING__ - pyqtVariant = "PyQt5" - del sys.modules["PyQt5"] - except ImportError: - try: - import PyQt4 # __IGNORE_WARNING__ - pyqtVariant = "PyQt4" - del sys.modules["PyQt4"] - except ImportError: - # default to PyQt5, installation will be asked for - pyqtVariant = "PyQt5" - - def initGlobals(): """ Module function to set the values of globals that need more than a simple assignment. """ - global platBinDir, modDir, pyModDir, apisDir, pyqtVariant, platBinDirOld + global platBinDir, modDir, pyModDir, apisDir, platBinDirOld try: import distutils.sysconfig @@ -271,7 +203,7 @@ modDir = distutils.sysconfig.get_python_lib(True) pyModDir = modDir - pyqtDataDir = os.path.join(modDir, pyqtVariant) + pyqtDataDir = os.path.join(modDir, "PyQt5") if os.path.exists(os.path.join(pyqtDataDir, "qsci")): # it's the installer qtDataDir = pyqtDataDir @@ -281,10 +213,7 @@ else: # determine dynamically try: - if pyqtVariant == "PyQt4": - from PyQt4.QtCore import QLibraryInfo - else: - from PyQt5.QtCore import QLibraryInfo + from PyQt5.QtCore import QLibraryInfo qtDataDir = QLibraryInfo.location(QLibraryInfo.DataPath) except ImportError: qtDataDir = None @@ -302,53 +231,39 @@ @param text the contents to copy to the file. """ f = open(name, "w") - if sys.version_info[0] == 2: - text = codecs.encode(text, "utf-8") f.write(text) f.close() -def copyDesktopFile(src, dst, marker): +def copyDesktopFile(src, dst): """ Modify a desktop file and write it to its destination. @param src source file name (string) @param dst destination file name (string) - @param marker marker to be used (string) """ global cfg, platBinDir - if sys.version_info[0] == 2: - f = codecs.open(src, "r", "utf-8") - else: - f = open(src, "r", encoding="utf-8") + f = open(src, "r", encoding="utf-8") text = f.read() f.close() text = text.replace("@BINDIR@", platBinDir) - text = text.replace("@MARKER@", marker) - if marker: - t_marker = " ({0})".format(PythonTextMarkers[marker]) - else: - t_marker = "" - text = text.replace("@PY_MARKER@", t_marker) + text = text.replace("@MARKER@", "") + text = text.replace("@PY_MARKER@", "") - if sys.version_info[0] == 2: - f = codecs.open(dst, "w", "utf-8") - else: - f = open(dst, "w", encoding="utf-8") + f = open(dst, "w", encoding="utf-8") f.write(text) f.close() os.chmod(dst, 0o644) -def copyAppStreamFile(src, dst, marker): +def copyAppStreamFile(src, dst): """ Modify an appstream file and write it to its destination. @param src source file name (string) @param dst destination file name (string) - @param marker marker to be used (string) """ if os.path.exists(os.path.join("eric", "eric6", "UI", "Info.py")): # Installing from archive @@ -359,21 +274,15 @@ else: Version = "Unknown" - if sys.version_info[0] == 2: - f = codecs.open(src, "r", "utf-8") - else: - f = open(src, "r", encoding="utf-8") + f = open(src, "r", encoding="utf-8") text = f.read() f.close() - text = text.replace("@MARKER@", marker)\ + text = text.replace("@MARKER@", "")\ .replace("@VERSION@", Version.split(None, 1)[0])\ .replace("@DATE@", time.strftime("%Y-%m-%d")) - if sys.version_info[0] == 2: - f = codecs.open(dst, "w", "utf-8") - else: - f = open(dst, "w", encoding="utf-8") + f = open(dst, "w", encoding="utf-8") f.write(text) f.close() os.chmod(dst, 0o644) @@ -408,33 +317,21 @@ application (boolean) @return the platform specific name of the wrapper (string) """ - global includePythonVariant, pyqtVariant, pyqtOverride - - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" - - if pyqtOverride and pyqtVariant == "PyQt4": - pyqt4opt = " --pyqt4" - else: - pyqt4opt = "" - # all kinds of Windows systems if sys.platform.startswith(("win", "cygwin")): - wname = wfile + marker + ".cmd" + wname = wfile + ".cmd" if isGuiScript: wrapper = \ '''@echo off\n''' \ '''start "" "{2}\\pythonw.exe"''' \ - ''' "{0}\\{1}.pyw"{3}''' \ + ''' "{0}\\{1}.pyw"''' \ ''' %1 %2 %3 %4 %5 %6 %7 %8 %9\n'''.format( - pydir, wfile, sys.exec_prefix, pyqt4opt) + pydir, wfile, sys.exec_prefix) else: wrapper = \ - '''@"{0}\\python" "{1}\\{2}.py"{3}''' \ + '''@"{0}\\python" "{1}\\{2}.py"''' \ ''' %1 %2 %3 %4 %5 %6 %7 %8 %9\n'''.format( - sys.exec_prefix, pydir, wfile, pyqt4opt) + sys.exec_prefix, pydir, wfile) # Mac OS X elif sys.platform == "darwin": @@ -442,19 +339,19 @@ pyexec = "{0}/bin/pythonw{1}".format(sys.exec_prefix, major) if not os.path.exists(pyexec): pyexec = "{0}/bin/python{1}".format(sys.exec_prefix, major) - wname = wfile + marker + wname = wfile wrapper = ('''#!/bin/sh\n''' '''\n''' - '''exec "{0}" "{1}/{2}.py"{3} "$@"\n''' - .format(pyexec, pydir, wfile, pyqt4opt)) + '''exec "{0}" "{1}/{2}.py" "$@"\n''' + .format(pyexec, pydir, wfile)) # *nix systems else: - wname = wfile + marker + wname = wfile wrapper = ('''#!/bin/sh\n''' '''\n''' - '''exec "{0}" "{1}/{2}.py"{3} "$@"\n''' - .format(sys.executable, pydir, wfile, pyqt4opt)) + '''exec "{0}" "{1}/{2}.py" "$@"\n''' + .format(sys.executable, pydir, wfile)) wname = os.path.join(saveDir, wname) copyToFile(wname, wrapper) @@ -574,7 +471,7 @@ """ Uninstall the old eric files. """ - global platBinDir, platBinDirOld, includePythonVariant + global platBinDir, platBinDirOld try: from eric6config import getConfig @@ -602,13 +499,9 @@ "eric6_tray", "eric6_editor", "eric6_plugininstall", "eric6_pluginuninstall", "eric6_pluginrepository", "eric6_sqlbrowser", - "eric6_webbrowser", "eric6_iconeditor", - "eric6_snap", "eric6_hexeditor", "eric6_browser", - "eric6_shell", + "eric6_iconeditor", "eric6_snap", "eric6_hexeditor", + "eric6_browser", "eric6_shell", ] - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - rem_wnames = [n + marker for n in rem_wnames] try: dirs = [platBinDir, getConfig('bindir')] @@ -677,20 +570,13 @@ "/usr/share/pixmaps/ericWeb.png"]: if os.path.exists(name): os.remove(name) - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" for name in [ - "/usr/share/applications/eric6" + marker + ".desktop", - "/usr/share/appdata/eric6" + marker + ".appdata.xml", - "/usr/share/metainfo/eric6" + marker + ".appdata.xml", - "/usr/share/applications/eric6_webbrowser" + marker + - ".desktop", - "/usr/share/applications/eric6_browser" + marker + - ".desktop", - "/usr/share/pixmaps/eric" + marker + ".png", - "/usr/share/pixmaps/ericWeb" + marker + ".png", + "/usr/share/applications/eric6.desktop", + "/usr/share/appdata/eric6.appdata.xml", + "/usr/share/metainfo/eric6.appdata.xml", + "/usr/share/applications/eric6_browser.desktop", + "/usr/share/pixmaps/eric.png", + "/usr/share/pixmaps/ericWeb.png", ]: if os.path.exists(name): os.remove(name) @@ -701,20 +587,13 @@ path = os.path.expanduser(name) if os.path.exists(path): os.remove(path) - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" for name in [ - "~/.local/share/applications/eric6" + marker + ".desktop", - "~/.local/share/appdata/eric6" + marker + ".appdata.xml", - "~/.local/share/metainfo/eric6" + marker + ".appdata.xml", - "~/.local/share/applications/eric6_webbrowser" + marker + - ".desktop", - "~/.local/share/applications/eric6_browser" + marker + - ".desktop", - "~/.local/share/pixmaps/eric" + marker + ".png", - "~/.local/share/pixmaps/ericWeb" + marker + ".png", + "~/.local/share/applications/eric6.desktop", + "~/.local/share/appdata/eric6.appdata.xml", + "~/.local/share/metainfo/eric6.appdata.xml", + "~/.local/share/applications/eric6_browser.desktop", + "~/.local/share/pixmaps/eric.png", + "~/.local/share/pixmaps/ericWeb.png", ]: path = os.path.expanduser(name) if os.path.exists(path): @@ -806,7 +685,7 @@ @return result code (integer) """ global distDir, doCleanup, cfg, progLanguages, sourceDir, configName - global includePythonVariant, installApis + global installApis # Create the platform specific wrappers. scriptsDir = "install_scripts" @@ -821,8 +700,8 @@ "eric6_pluginuninstall", "eric6_qregexp", "eric6_qregularexpression", "eric6_re", "eric6_snap", "eric6_sqlbrowser", "eric6_tray", "eric6_trpreviewer", - "eric6_uipreviewer", "eric6_unittest", "eric6_webbrowser", - "eric6_browser", "eric6_shell", "eric6"]: + "eric6_uipreviewer", "eric6_unittest", "eric6_browser", + "eric6_shell", "eric6"]: wnames.append(createPyWrapper(cfg['ericDir'], name, scriptsDir)) # set install prefix, if not None @@ -1013,77 +892,55 @@ """ Install Linux specific files. """ - global distDir, sourceDir, includePythonVariant + global distDir, sourceDir - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" - if distDir: dst = os.path.normpath(os.path.join(distDir, "usr/share/pixmaps")) if not os.path.exists(dst): os.makedirs(dst) shutilCopy( os.path.join(eric6SourceDir, "icons", "default", "eric.png"), - os.path.join(dst, "eric" + marker + ".png")) + os.path.join(dst, "eric.png")) shutilCopy( os.path.join(eric6SourceDir, "icons", "default", "ericWeb48.png"), - os.path.join(dst, "ericWeb" + marker + ".png")) + os.path.join(dst, "ericWeb.png")) dst = os.path.normpath( os.path.join(distDir, "usr/share/applications")) if not os.path.exists(dst): os.makedirs(dst) copyDesktopFile(os.path.join(sourceDir, "linux", "eric6.desktop.in"), - os.path.join(dst, "eric6" + marker + ".desktop"), - marker) - copyDesktopFile( - os.path.join(sourceDir, "linux", "eric6_webbrowser.desktop.in"), - os.path.join(dst, "eric6_webbrowser" + marker + ".desktop"), - marker) + os.path.join(dst, "eric6.desktop")) copyDesktopFile( os.path.join(sourceDir, "linux", "eric6_browser.desktop.in"), - os.path.join(dst, "eric6_browser" + marker + ".desktop"), - marker) + os.path.join(dst, "eric6_browser.desktop")) dst = os.path.normpath( os.path.join(distDir, "usr/share/metainfo")) if not os.path.exists(dst): os.makedirs(dst) copyAppStreamFile( os.path.join(sourceDir, "linux", "eric6.appdata.xml.in"), - os.path.join(dst, "eric6" + marker + ".appdata.xml"), - marker) + os.path.join(dst, "eric6.appdata.xml")) elif os.getuid() == 0: shutilCopy(os.path.join( eric6SourceDir, "icons", "default", "eric.png"), - "/usr/share/pixmaps/eric" + marker + ".png") + "/usr/share/pixmaps/eric.png") copyDesktopFile( os.path.join(sourceDir, "linux", "eric6.desktop.in"), - "/usr/share/applications/eric6" + marker + ".desktop", - marker) + "/usr/share/applications/eric6.desktop") if os.path.exists("/usr/share/metainfo"): copyAppStreamFile( os.path.join(sourceDir, "linux", "eric6.appdata.xml.in"), - "/usr/share/metainfo/eric6" + marker + ".appdata.xml", - marker) + "/usr/share/metainfo/eric6.appdata.xml") elif os.path.exists("/usr/share/appdata"): copyAppStreamFile( os.path.join(sourceDir, "linux", "eric6.appdata.xml.in"), - "/usr/share/appdata/eric6" + marker + ".appdata.xml", - marker) + "/usr/share/appdata/eric6.appdata.xml") shutilCopy(os.path.join( eric6SourceDir, "icons", "default", "ericWeb48.png"), - "/usr/share/pixmaps/ericWeb" + marker + ".png") - copyDesktopFile( - os.path.join(sourceDir, "linux", "eric6_webbrowser.desktop.in"), - "/usr/share/applications/eric6_webbrowser" + marker + - ".desktop", - marker) + "/usr/share/pixmaps/ericWeb.png") copyDesktopFile( os.path.join(sourceDir, "linux", "eric6_browser.desktop.in"), - "/usr/share/applications/eric6_browser" + marker + - ".desktop", - marker) + "/usr/share/applications/eric6_browser.desktop") elif os.getuid() >= 1000: # it is assumed, that user ids start at 1000 localPath = os.path.join(os.path.expanduser("~"), @@ -1097,36 +954,22 @@ # now copy the files shutilCopy( os.path.join(eric6SourceDir, "icons", "default", "eric.png"), - os.path.join(localPath, "pixmaps", "eric" + marker + ".png")) + os.path.join(localPath, "pixmaps", "eric.png")) copyDesktopFile( os.path.join(sourceDir, "linux", "eric6.desktop.in"), - os.path.join(localPath, "applications", - "eric6" + marker + ".desktop"), - marker) - copyAppStreamFile( - os.path.join(sourceDir, "linux", "eric6.appdata.xml.in"), - os.path.join(localPath, "metainfo", - "eric6" + marker + ".appdata.xml"), - marker) + os.path.join(localPath, "applications", "eric6.desktop")) copyAppStreamFile( os.path.join(sourceDir, "linux", "eric6.appdata.xml.in"), - os.path.join(localPath, "appdata", - "eric6" + marker + ".appdata.xml"), - marker) + os.path.join(localPath, "metainfo", "eric6.appdata.xml")) + copyAppStreamFile( + os.path.join(sourceDir, "linux", "eric6.appdata.xml.in"), + os.path.join(localPath, "appdata", "eric6.appdata.xml")) shutilCopy( os.path.join(eric6SourceDir, "icons", "default", "ericWeb48.png"), - os.path.join(localPath, "pixmaps", - "ericWeb" + marker + ".png")) - copyDesktopFile( - os.path.join(sourceDir, "linux", "eric6_webbrowser.desktop.in"), - os.path.join(localPath, "applications", - "eric6_webbrowser" + marker + ".desktop"), - marker) + os.path.join(localPath, "pixmaps", "ericWeb.png")) copyDesktopFile( os.path.join(sourceDir, "linux", "eric6_browser.desktop.in"), - os.path.join(localPath, "applications", - "eric6_browser" + marker + ".desktop"), - marker) + os.path.join(localPath, "applications", "eric6_browser.desktop")) def createWindowsLinks(): @@ -1149,8 +992,6 @@ os.path.join(os.path.dirname(__file__), "create_windows_links.py"), ] - if includePythonVariant: - args.append("-y") subprocess.call(args) else: print( @@ -1196,7 +1037,7 @@ eventually be installed @type str """ - global cfg, macAppBundleName, macPythonExe, macAppBundlePath, pyqtVariant + global cfg, macAppBundleName, macPythonExe, macAppBundlePath directories = { "contents": "{0}/{1}/Contents/".format( @@ -1221,10 +1062,7 @@ # determine entry for DYLD_FRAMEWORK_PATH dyldLine = "" try: - if pyqtVariant == "PyQt4": - from PyQt4.QtCore import QLibraryInfo - else: - from PyQt5.QtCore import QLibraryInfo + from PyQt5.QtCore import QLibraryInfo qtLibraryDir = QLibraryInfo.location(QLibraryInfo.LibrariesPath) except ImportError: qtLibraryDir = "" @@ -1434,10 +1272,7 @@ ok = False print("{0}\n\nShall '{1}' be installed using pip? (Y/n)" .format(message, packageName), end=" ") - if sys.version_info[0] == 2: - answer = raw_input() # __IGNORE_WARNING__ - else: - answer = input() + answer = input() if answer in ("", "Y", "y"): exitCode = subprocess.call( [sys.executable, "-m", "pip", "install", packageName]) @@ -1454,15 +1289,11 @@ # perform dependency checks print("Python Version: {0:d}.{1:d}.{2:d}".format(*sys.version_info[:3])) - if sys.version_info < (2, 7, 10): - print('Sorry, you must have Python 2.7.10 or higher or ' - 'Python 3.5.0 or higher.') - exit(5) - elif sys.version_info < (3, 5, 0) and sys.version_info[0] == 3: + if sys.version_info < (3, 5, 0): print('Sorry, you must have Python 3.5.0 or higher.') exit(5) if sys.version_info[0] > 3: - print('Sorry, eric6 requires Python 3 or Python 2 for running.') + print('Sorry, eric6 requires Python 3 for running.') exit(5) try: @@ -1472,121 +1303,89 @@ print('Please install it and try again.') exit(5) - if pyqtVariant == "PyQt4": - try: - from PyQt4.QtCore import qVersion - except ImportError as msg: - print('Sorry, please install PyQt4.') - print('Error: {0}'.format(msg)) - exit(1) - print("Found PyQt4") - else: - try: - from PyQt5.QtCore import qVersion - except ImportError as msg: - if sys.version_info[0] == 2: - # no PyQt5 wheels available for Python 2 - installed = False - else: - installed = pipInstall( - "PyQt5", - "PyQt5 could not be detected.\nError: {0}".format(msg) - ) - if installed: - # try to import it again - try: - from PyQt5.QtCore import qVersion - except ImportError as msg: - print('Sorry, please install PyQt5.') - print('Error: {0}'.format(msg)) - exit(1) - else: + try: + from PyQt5.QtCore import qVersion + except ImportError as msg: + installed = pipInstall( + "PyQt5", + "PyQt5 could not be detected.\nError: {0}".format(msg) + ) + if installed: + # try to import it again + try: + from PyQt5.QtCore import qVersion + except ImportError as msg: print('Sorry, please install PyQt5.') print('Error: {0}'.format(msg)) exit(1) - print("Found PyQt5") + else: + print('Sorry, please install PyQt5.') + print('Error: {0}'.format(msg)) + exit(1) + print("Found PyQt5") try: - if pyqtVariant == "PyQt4": - pyuic = "pyuic4" - from PyQt4 import uic # __IGNORE_WARNING__ - else: - pyuic = "pyuic5" - from PyQt5 import uic # __IGNORE_WARNING__ + pyuic = "pyuic5" + from PyQt5 import uic # __IGNORE_WARNING__ except ImportError as msg: print("Sorry, {0} is not installed.".format(pyuic)) print('Error: {0}'.format(msg)) exit(1) print("Found {0}".format(pyuic)) - if pyqtVariant != "PyQt4": - try: - from PyQt5 import QtWebEngineWidgets # __IGNORE_WARNING__ - except ImportError as msg: - from PyQt5.QtCore import PYQT_VERSION - if PYQT_VERSION >= 0x50c00: - # PyQt 5.12 separated QtWebEngine into a separate wheel - installed = pipInstall( - "PyQtWebEngine", - "PyQtWebEngine could not be detected.\nError: {0}" - .format(msg) - ) - - try: - from PyQt5 import QtChart # __IGNORE_WARNING__ - except ImportError as msg: + try: + from PyQt5 import QtWebEngineWidgets # __IGNORE_WARNING__ + except ImportError as msg: + from PyQt5.QtCore import PYQT_VERSION + if PYQT_VERSION >= 0x50c00: + # PyQt 5.12 separated QtWebEngine into a separate wheel installed = pipInstall( - "PyQtChart", - "PyQtChart could not be detected.\nError: {0}" + "PyQtWebEngine", + "PyQtWebEngine could not be detected.\nError: {0}" .format(msg) ) try: - if pyqtVariant == "PyQt4": - from PyQt4 import Qsci # __IGNORE_WARNING__ - else: - from PyQt5 import Qsci # __IGNORE_WARNING__ + from PyQt5 import QtChart # __IGNORE_WARNING__ + except ImportError as msg: + installed = pipInstall( + "PyQtChart", + "PyQtChart could not be detected.\nError: {0}" + .format(msg) + ) + + try: + from PyQt5 import Qsci # __IGNORE_WARNING__ except ImportError as msg: - if pyqtVariant == "PyQt4": - message = str(msg) + installed = pipInstall( + "QScintilla", + "QScintilla could not be detected.\nError: {0}".format(msg) + ) + if installed: + # try to import it again + try: + from PyQt5 import Qsci # __IGNORE_WARNING__ + message = None + except ImportError as msg: + message = str(msg) else: - installed = pipInstall( - "QScintilla", - "QScintilla could not be detected.\nError: {0}".format(msg) - ) - if installed: - # try to import it again - try: - from PyQt5 import Qsci # __IGNORE_WARNING__ - message = None - except ImportError as msg: - message = str(msg) - else: - message = "QScintilla could not be installed." + message = "QScintilla could not be installed." if message: print("Sorry, please install QScintilla2 and") - print("its PyQt5/PyQt4 wrapper.") + print("its PyQt5 wrapper.") print('Error: {0}'.format(message)) exit(1) print("Found QScintilla2") - if pyqtVariant == "PyQt4": - impModulesList = [ - "PyQt4.QtGui", "PyQt4.QtNetwork", "PyQt4.QtSql", - "PyQt4.QtSvg", "PyQt4.QtWebKit", - ] - altModulesList = [] - else: - impModulesList = [ - "PyQt5.QtGui", "PyQt5.QtNetwork", "PyQt5.QtPrintSupport", - "PyQt5.QtSql", "PyQt5.QtSvg", "PyQt5.QtWidgets", - ] - altModulesList = [ - # Tuple with alternatives, flag indicating it's ok to not be - # available (e.g. for 32-Bit Windows) - (("PyQt5.QtWebEngineWidgets", "PyQt5.QtWebKitWidgets"), - sys.maxsize <= 2**32), - ] + impModulesList = [ + "PyQt5.QtGui", "PyQt5.QtNetwork", "PyQt5.QtPrintSupport", + "PyQt5.QtSql", "PyQt5.QtSvg", "PyQt5.QtWidgets", + ] + altModulesList = [ + # Tuple with alternatives, flag indicating it's ok to not be + # available (e.g. for 32-Bit Windows) + (("PyQt5.QtWebEngineWidgets", ), sys.maxsize <= 2**32), + ] # check mandatory modules modulesOK = True for impModule in impModulesList: @@ -1633,11 +1432,8 @@ qtMajor = int(qVersion().split('.')[0]) qtMinor = int(qVersion().split('.')[1]) print("Qt Version: {0}".format(qVersion().strip())) - if qtMajor < 4 or \ - (qtMajor == 4 and qtMinor < 8) or \ - (qtMajor == 5 and qtMinor < 9): - print('Sorry, you must have Qt version 4.8.0 or better or') - print('5.9.0 or better.') + if qtMajor == 5 and qtMinor < 9: + print('Sorry, you must have Qt version 5.9.0 or better.') exit(2) # check version of sip @@ -1673,10 +1469,7 @@ pass # check version of PyQt - if pyqtVariant == "PyQt4": - from PyQt4.QtCore import PYQT_VERSION_STR - else: - from PyQt5.QtCore import PYQT_VERSION_STR + from PyQt5.QtCore import PYQT_VERSION_STR pyqtVersion = PYQT_VERSION_STR print("PyQt Version:", pyqtVersion.strip()) # always assume, that snapshots or dev versions are new enough @@ -1687,15 +1480,12 @@ major = int(major) minor = int(minor) pat = int(pat) - if major < 4 or \ - (major == 4 and minor < 10) or \ - (major == 5 and minor < 9): - print('Sorry, you must have PyQt 4.10.0 or better or') - print('PyQt 5.9.0 or better or' + if major == 5 and minor < 9: + print('Sorry, you must have PyQt 5.9.0 or better or' ' a recent snapshot release.') exit(4) # check for blacklisted versions - for vers in BlackLists[pyqtVariant] + PlatformBlackLists[pyqtVariant]: + for vers in BlackLists["PyQt5"] + PlatformBlackLists["PyQt5"]: if vers == pyqtVersion: print('Sorry, PyQt version {0} is not compatible with eric6.' .format(vers)) @@ -1703,10 +1493,7 @@ exit(4) # check version of QScintilla - if pyqtVariant == "PyQt4": - from PyQt4.Qsci import QSCINTILLA_VERSION_STR - else: - from PyQt5.Qsci import QSCINTILLA_VERSION_STR + from PyQt5.Qsci import QSCINTILLA_VERSION_STR scintillaVersion = QSCINTILLA_VERSION_STR print("QScintilla Version:", QSCINTILLA_VERSION_STR.strip()) # always assume, that snapshots or dev versions are new enough @@ -1751,10 +1538,7 @@ """ Compile the .ui files to Python sources. """ - if pyqtVariant == "PyQt4": - from PyQt4.uic import compileUiDir - else: - from PyQt5.uic import compileUiDir + from PyQt5.uic import compileUiDir compileUiDir(eric6SourceDir, True, __pyName) @@ -1773,18 +1557,14 @@ pass try: hgOut = subprocess.check_output(["hg", "identify", "-i"]) - if sys.version_info[0] == 3: - hgOut = hgOut.decode() + hgOut = hgOut.decode() except (OSError, subprocess.CalledProcessError): hgOut = "" if hgOut: hgOut = hgOut.strip() if hgOut.endswith("+"): hgOut = hgOut[:-1] - if sys.version_info[0] == 2: - f = codecs.open(fileName + ".orig", "r", "utf-8") - else: - f = open(fileName + ".orig", "r", encoding="utf-8") + f = open(fileName + ".orig", "r", encoding="utf-8") text = f.read() f.close() text = text.replace("@@REVISION@@", hgOut)\ @@ -1806,12 +1586,9 @@ @rtype any """ try: - import _winreg as winreg + import winreg except ImportError: - try: - import winreg - except ImportError: - return None + return None try: registryKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, path, 0, @@ -1867,31 +1644,17 @@ the link target and the icon target @rtype list of tuples of (str, str, str) """ - global cfg, includePythonVariant - - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" + global cfg majorVersion, minorVersion = sys.version_info[:2] entriesTemplates = [ ("eric6 (Python {0}.{1}).lnk", - os.path.join(cfg["bindir"], "eric6" + marker + ".cmd"), + os.path.join(cfg["bindir"], "eric6.cmd"), os.path.join(cfg["ericPixDir"], "eric6.ico")), + ("eric6 Browser (Python {0}.{1}).lnk", + os.path.join(cfg["bindir"], "eric6_browse.cmd"), + os.path.join(cfg["ericPixDir"], "ericWeb48.ico")), ] - if sys.version_info.major == 2: - entriesTemplates.append(( - "eric6 Browser (Python {0}.{1}).lnk", - os.path.join(cfg["bindir"], "eric6_webbrowser" + marker + ".cmd"), - os.path.join(cfg["ericPixDir"], "ericWeb48.ico") - )) - else: - entriesTemplates.append(( - "eric6 Browser (Python {0}.{1}).lnk", - os.path.join(cfg["bindir"], "eric6_browser" + marker + ".cmd"), - os.path.join(cfg["ericPixDir"], "ericWeb48.ico") - )) return [ (e[0].format(majorVersion, minorVersion), e[1], e[2]) @@ -1906,8 +1669,7 @@ @return name of the Start Menu top entry @rtype str """ - majorVersion, minorVersion = sys.version_info[:2] - return "eric6 (Python {0}.{1})".format(majorVersion, minorVersion) + return "eric6" def main(argv): @@ -1921,13 +1683,12 @@ # Parse the command line. global progName, modDir, doCleanup, doCompile, distDir, cfg, apisDir - global sourceDir, eric6SourceDir, configName, includePythonVariant + global sourceDir, eric6SourceDir, configName global macAppBundlePath, macAppBundleName, macPythonExe - global pyqtVariant, pyqtOverride, installApis, doCleanDesktopLinks + global installApis, doCleanDesktopLinks - if sys.version_info < (2, 7, 0) or sys.version_info > (3, 9, 9): - print('Sorry, eric6 requires at least Python 2.7 or ' - 'Python 3 for running.') + if sys.version_info < (3, 5, 0) or sys.version_info > (3, 99, 99): + print('Sorry, eric6 requires at least Python 3.5 for running.') exit(5) progName = os.path.basename(argv[0]) @@ -1935,22 +1696,21 @@ if os.path.dirname(argv[0]): os.chdir(os.path.dirname(argv[0])) - determinePyQtVariant() initGlobals() try: if sys.platform.startswith(("win", "cygwin")): optlist, args = getopt.getopt( - argv[1:], "chxyza:b:d:f:", - ["help", "pyqt=", "no-apis"]) + argv[1:], "chxza:b:d:f:", + ["help", "no-apis"]) elif sys.platform == "darwin": optlist, args = getopt.getopt( - argv[1:], "chxyza:b:d:f:i:m:n:p:", - ["help", "pyqt=", "no-apis"]) + argv[1:], "chxza:b:d:f:i:m:n:p:", + ["help", "no-apis"]) else: optlist, args = getopt.getopt( - argv[1:], "chxyza:b:d:f:i:", - ["help", "pyqt=", "no-apis"]) + argv[1:], "chxza:b:d:f:i:", + ["help", "no-apis"]) except getopt.GetoptError as err: print(err) usage() @@ -1976,8 +1736,6 @@ doCleanup = False elif opt == "-z": doCompile = False - elif opt == "-y": - includePythonVariant = True elif opt == "-f": try: exec(compile(open(arg).read(), arg, 'exec'), globals()) @@ -1993,12 +1751,6 @@ macAppBundlePath = arg elif opt == "-p": macPythonExe = arg - elif opt == "--pyqt": - if arg not in ["4", "5"]: - print("Invalid PyQt version given; should be 4 or 5. Aborting") - exit(6) - pyqtVariant = "PyQt{0}".format(arg) - pyqtOverride = True elif opt == "--no-apis": installApis = False elif opt == "--clean-desktop": @@ -2069,7 +1821,6 @@ if doCompile: print("\nCompiling source files ...") - # Hide compile errors (mainly because of Py2/Py3 differences) skipRe = re.compile(r"DebugClients[\\/]Python[\\/]") sys.stdout = io.StringIO() if distDir:
--- a/scripts/uninstall-debugclients.py Sat Aug 31 12:29:57 2019 +0200 +++ b/scripts/uninstall-debugclients.py Sat Aug 31 12:58:11 2019 +0200 @@ -17,13 +17,6 @@ import shutil import distutils.sysconfig -if sys.version_info[0] == 2: - try: - from PyQt5 import sip - except ImportError: - import sip - sip.setapi('QString', 2) - # Define the globals. progName = None currDir = os.getcwd() @@ -41,7 +34,6 @@ global currDir if sys.platform.startswith("win"): - # different meaning of input between Py2 and Py3 try: input("Press enter to continue...") except (EOFError, SyntaxError):
--- a/scripts/uninstall.py Sat Aug 31 12:29:57 2019 +0200 +++ b/scripts/uninstall.py Sat Aug 31 12:58:11 2019 +0200 @@ -18,15 +18,6 @@ import glob import distutils.sysconfig -if sys.version_info[0] == 2: - try: - from PyQt5 import sip - except ImportError: - import sip - sip.setapi('QString', 2) -else: - raw_input = input - # get a local eric6config.py out of the way if os.path.exists("eric6config.py"): os.rename("eric6config.py", "eric6config.py.orig") @@ -37,18 +28,11 @@ currDir = os.getcwd() pyModDir = None progLanguages = ["Python", "Ruby", "QSS"] -includePythonVariant = False defaultMacAppBundleName = "eric6.app" defaultMacAppBundlePath = "/Applications" settingsNameOrganization = "Eric6" settingsNameGlobal = "eric6" -# Define file name markers for Python variants -PythonMarkers = { - 2: "_py2", - 3: "_py3", -} - def exit(rcode=0): """ @@ -65,7 +49,6 @@ os.rename("eric6config.py.orig", "eric6config.py") if sys.platform.startswith(("win", "cygwin")): - # different meaning of input between Py2 and Py3 try: input("Press enter to continue...") except (EOFError, SyntaxError): @@ -88,7 +71,6 @@ print(" {0} [-h]".format(progName)) print("where:") print(" -h display this help message") - print(" -y remove executables with Python variant in name") exit(rcode) @@ -143,13 +125,9 @@ "eric6_tray", "eric6_editor", "eric6_plugininstall", "eric6_pluginuninstall", "eric6_pluginrepository", "eric6_sqlbrowser", - "eric6_webbrowser", "eric6_iconeditor", - "eric6_snap", "eric6_hexeditor", "eric6_browser", - "eric6_shell", + "eric6_iconeditor", "eric6_snap", "eric6_hexeditor", + "eric6_browser", "eric6_shell", ] - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - rem_wnames = [n + marker for n in rem_wnames] try: for rem_wname in rem_wnames: @@ -265,20 +243,13 @@ "/usr/share/pixmaps/ericWeb.png"]: if os.path.exists(name): os.remove(name) - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" for name in [ - "/usr/share/applications/eric6" + marker + ".desktop", - "/usr/share/appdata/eric6" + marker + ".appdata.xml", - "/usr/share/metainfo/eric6" + marker + ".appdata.xml", - "/usr/share/applications/eric6_webbrowser" + marker + - ".desktop", - "/usr/share/applications/eric6_browser" + marker + - ".desktop", - "/usr/share/pixmaps/eric" + marker + ".png", - "/usr/share/pixmaps/ericWeb" + marker + ".png", + "/usr/share/applications/eric6.desktop", + "/usr/share/appdata/eric6.appdata.xml", + "/usr/share/metainfo/eric6.appdata.xml", + "/usr/share/applications/eric6_browser.desktop", + "/usr/share/pixmaps/eric.png", + "/usr/share/pixmaps/ericWeb.png", ]: if os.path.exists(name): os.remove(name) @@ -289,20 +260,13 @@ path = os.path.expanduser(name) if os.path.exists(path): os.remove(path) - if includePythonVariant: - marker = PythonMarkers[sys.version_info.major] - else: - marker = "" for name in [ - "~/.local/share/applications/eric6" + marker + ".desktop", - "~/.local/share/appdata/eric6" + marker + ".appdata.xml", - "~/.local/share/metainfo/eric6" + marker + ".appdata.xml", - "~/.local/share/applications/eric6_webbrowser" + marker + - ".desktop", - "~/.local/share/applications/eric6_browser" + marker + - ".desktop", - "~/.local/share/pixmaps/eric" + marker + ".png", - "~/.local/share/pixmaps/ericWeb" + marker + ".png", + "~/.local/share/applications/eric6.desktop", + "~/.local/share/appdata/eric6.appdata.xml", + "~/.local/share/metainfo/eric6.appdata.xml", + "~/.local/share/applications/eric6_browser.desktop", + "~/.local/share/pixmaps/eric.png", + "~/.local/share/pixmaps/ericWeb.png", ]: path = os.path.expanduser(name) if os.path.exists(path): @@ -350,8 +314,7 @@ print(" - {0}".format(path)) answer = "c" while answer not in ["y", "Y", "n", "N", ""]: - answer = raw_input( - "Shall these directories be removed (y/N)? ") + answer = input("Shall these directories be removed (y/N)? ") if answer in ["y", "Y"]: for path in pathsToRemove: shutil.rmtree(path) @@ -367,8 +330,7 @@ print(" - {0}".format(cfg)) answer = "c" while answer not in ["y", "Y", "n", "N", ""]: - answer = raw_input( - "Shall this directory be removed (y/N)? ") + answer = input("Shall this directory be removed (y/N)? ") if answer in ["y", "Y"]: shutil.rmtree(cfg) @@ -380,12 +342,9 @@ try: from PyQt5.QtCore import QSettings except ImportError: - try: - from PyQt4.QtCore import QSettings - except ImportError: - print("No PyQt variant installed. The configuration directory") - print("cannot be determined. You have to remove it manually.\n") - return + print("No PyQt variant installed. The configuration directory") + print("cannot be determined. You have to remove it manually.\n") + return settings = QSettings(QSettings.IniFormat, QSettings.UserScope, settingsNameOrganization, settingsNameGlobal) @@ -395,8 +354,7 @@ print(" - {0}".format(settingsDir)) answer = "c" while answer not in ["y", "Y", "n", "N", ""]: - answer = raw_input( - "Shall this directory be removed (y/N)? ") + answer = input("Shall this directory be removed (y/N)? ") if answer in ["y", "Y"]: shutil.rmtree(settingsDir) @@ -469,8 +427,6 @@ """ import getopt - global includePythonVariant - initGlobals() # Parse the command line. @@ -487,8 +443,6 @@ for opt, _arg in optlist: if opt == "-h": usage(0) - if opt == "-y": - includePythonVariant = True print("\nUninstalling eric6 ...") uninstallEric()
--- a/setup.py Sat Aug 31 12:29:57 2019 +0200 +++ b/setup.py Sat Aug 31 12:58:11 2019 +0200 @@ -137,8 +137,7 @@ pass try: hgOut = subprocess.check_output(["hg", "identify", "-i"]) - if sys.version_info[0] == 3: - hgOut = hgOut.decode() + hgOut = hgOut.decode() except (OSError, subprocess.CalledProcessError): hgOut = "" if hgOut: