diff -r fb0ef164f536 -r 698ae46f40a4 eric6/WebBrowser/WebBrowserWindow.py --- a/eric6/WebBrowser/WebBrowserWindow.py Fri Apr 02 11:59:41 2021 +0200 +++ b/eric6/WebBrowser/WebBrowserWindow.py Sat May 01 14:27:20 2021 +0200 @@ -11,6 +11,7 @@ import shutil import sys import functools +import contextlib from PyQt5.QtCore import ( pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, QUrl, QProcess, @@ -140,7 +141,7 @@ """ self.__hideNavigationTimer = None - super(WebBrowserWindow, self).__init__(parent) + super().__init__(parent) self.setObjectName(name) if private: self.setWindowTitle(self.tr("eric Web Browser (Private Mode)")) @@ -295,10 +296,11 @@ self.addDockWidget(Qt.DockWidgetArea.BottomDockWidgetArea, self.__javascriptConsoleDock) - if Preferences.getWebBrowser("SaveGeometry"): - g = Preferences.getGeometry("WebBrowserGeometry") - else: - g = QByteArray() + g = ( + Preferences.getGeometry("WebBrowserGeometry") + if Preferences.getWebBrowser("SaveGeometry") else + QByteArray() + ) if g.isEmpty(): s = QSize(800, 800) self.resize(s) @@ -646,14 +648,12 @@ Preferences.getWebBrowser( "DnsPrefetchEnabled")) - try: + with contextlib.suppress(AttributeError, KeyError): # Qt 5.13 settings.setAttribute( QWebEngineSettings.WebAttribute.PdfViewerEnabled, Preferences.getWebBrowser( "PdfViewerEnabled")) - except (AttributeError, KeyError): - pass def __initActions(self): """ @@ -2760,9 +2760,12 @@ @return flag indicating successful shutdown (boolean) """ - if not WebBrowserWindow._performingShutdown and not self.__forcedClose: - if not self.__tabWidget.shallShutDown(): - return False + if ( + not WebBrowserWindow._performingShutdown and + not self.__forcedClose and + not self.__tabWidget.shallShutDown() + ): + return False self.__isClosing = True @@ -2802,25 +2805,22 @@ else: Preferences.setGeometry("WebBrowserGeometry", QByteArray()) - try: + with contextlib.suppress(ValueError): browserIndex = WebBrowserWindow.BrowserWindows.index(self) - if len(WebBrowserWindow.BrowserWindows): - if browserIndex == 0: - if len(WebBrowserWindow.BrowserWindows) > 1: - # first window will be deleted - QDesktopServices.setUrlHandler( - "http", - WebBrowserWindow.BrowserWindows[1].urlHandler) - QDesktopServices.setUrlHandler( - "https", - WebBrowserWindow.BrowserWindows[1].urlHandler) - else: - QDesktopServices.unsetUrlHandler("http") - QDesktopServices.unsetUrlHandler("https") + if len(WebBrowserWindow.BrowserWindows) and browserIndex == 0: + if len(WebBrowserWindow.BrowserWindows) > 1: + # first window will be deleted + QDesktopServices.setUrlHandler( + "http", + WebBrowserWindow.BrowserWindows[1].urlHandler) + QDesktopServices.setUrlHandler( + "https", + WebBrowserWindow.BrowserWindows[1].urlHandler) + else: + QDesktopServices.unsetUrlHandler("http") + QDesktopServices.unsetUrlHandler("https") if len(WebBrowserWindow.BrowserWindows) > 0: del WebBrowserWindow.BrowserWindows[browserIndex] - except ValueError: - pass Preferences.syncPreferences() if ( @@ -3161,10 +3161,12 @@ """ Private slot to set the preferences. """ - from Preferences.ConfigurationDialog import ConfigurationDialog + from Preferences.ConfigurationDialog import ( + ConfigurationDialog, ConfigurationMode + ) dlg = ConfigurationDialog( self, 'Configuration', True, fromEric=False, - displayMode=ConfigurationDialog.WebBrowserMode) + displayMode=ConfigurationMode.WEBBROWSERMODE) dlg.preferencesChanged.connect(self.preferencesChanged) dlg.masterPasswordChanged.connect( lambda old, new: self.masterPasswordChanged(old, new, local=True)) @@ -3212,14 +3214,11 @@ QWebEngineProfile.HttpCacheType.MemoryHttpCache) profile.setHttpCacheMaximumSize(0) - try: + with contextlib.suppress(AttributeError): profile.setSpellCheckEnabled( Preferences.getWebBrowser("SpellCheckEnabled")) profile.setSpellCheckLanguages( Preferences.getWebBrowser("SpellCheckLanguages")) - except AttributeError: - # not yet supported - pass self.__virusTotal.preferencesChanged() if ( @@ -4083,10 +4082,7 @@ @param name name for the action @type str """ - if name: - act = QAction(name, parentMenu) - else: - act = QAction(codec, parentMenu) + act = QAction(name, parentMenu) if name else QAction(codec, parentMenu) act.setData(codec) act.setCheckable(True) if defaultCodec == codec: @@ -4121,10 +4117,11 @@ self.__textEncodingMenu.clear() defaultTextEncoding = self.webSettings().defaultTextEncoding().lower() - if defaultTextEncoding in Utilities.supportedCodecs: - currentCodec = defaultTextEncoding - else: - currentCodec = "" + currentCodec = ( + defaultTextEncoding + if defaultTextEncoding in Utilities.supportedCodecs else + "" + ) isoCodecs = [] winCodecs = [] @@ -4358,7 +4355,7 @@ self.currentBrowser().triggerPageAction( QWebEnginePage.WebAction.Forward) else: - super(WebBrowserWindow, self).mousePressEvent(evt) + super().mousePressEvent(evt) @classmethod def feedsManager(cls): @@ -4510,7 +4507,7 @@ self.__linkActivated(url) return - super(WebBrowserWindow, self).keyPressEvent(evt) + super().keyPressEvent(evt) def event(self, evt): """ @@ -4559,7 +4556,7 @@ if self.__hideNavigationTimer: self.__hideNavigationTimer.stop() - return super(WebBrowserWindow, self).event(evt) + return super().event(evt) ########################################################################### ## Interface to VirusTotal below ## @@ -4690,7 +4687,7 @@ @classmethod def showNotification(cls, icon, heading, text, - kind=NotificationTypes.Information, timeout=None): + kind=NotificationTypes.INFORMATION, timeout=None): """ Class method to show a desktop notification. @@ -4796,14 +4793,11 @@ QWebEngineProfile.PersistentCookiesPolicy .AllowPersistentCookies) - try: + with contextlib.suppress(AttributeError): cls._webProfile.setSpellCheckEnabled( Preferences.getWebBrowser("SpellCheckEnabled")) cls._webProfile.setSpellCheckLanguages( Preferences.getWebBrowser("SpellCheckLanguages")) - except AttributeError: - # not yet supported - pass # Setup QWebChannel user scripts from .WebBrowserPage import WebBrowserPage @@ -5007,14 +5001,15 @@ if ex: fn += ex - if os.path.exists(fn): - ok = E5MessageBox.yesNo( + ok = ( + E5MessageBox.yesNo( self, self.tr("Export Keyboard Shortcuts"), self.tr("""<p>The keyboard shortcuts file <b>{0}</b> exists""" """ already. Overwrite it?</p>""").format(fn)) - else: - ok = True + if os.path.exists(fn) else + True + ) if ok: from Preferences import Shortcuts