src/eric7/WebBrowser/Network/EricSchemeHandler.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
--- a/src/eric7/WebBrowser/Network/EricSchemeHandler.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/WebBrowser/Network/EricSchemeHandler.py	Wed Jul 13 14:55:47 2022 +0200
@@ -14,14 +14,14 @@
 
 from EricUtilities.EricMutexLocker import EricMutexLocker
 
-from ..Tools.WebBrowserTools import (
-    getHtmlPage, getJavascript, pixmapFileToDataUrl
-)
+from ..Tools.WebBrowserTools import getHtmlPage, getJavascript, pixmapFileToDataUrl
 
 _SupportedPages = [
-    "adblock",                      # error page for URLs blocked by AdBlock
-    "home", "start", "startpage",   # eric home page
-    "speeddial",                    # eric speeddial
+    "adblock",  # error page for URLs blocked by AdBlock
+    "home",
+    "start",
+    "startpage",  # eric home page
+    "speeddial",  # eric speeddial
 ]
 
 
@@ -29,21 +29,22 @@
     """
     Class implementing a scheme handler for the eric: scheme.
     """
+
     def __init__(self, parent=None):
         """
         Constructor
-        
+
         @param parent reference to the parent object
         @type QObject
         """
         super().__init__(parent)
-        
+
         self.__replies = []
-    
+
     def requestStarted(self, job):
         """
         Public method handling the URL request.
-        
+
         @param job URL request job
         @type QWebEngineUrlRequestJob
         """
@@ -51,11 +52,11 @@
         reply.closed.connect(lambda: self.__replyClosed(reply))
         self.__replies.append(reply)
         job.reply(b"text/html", reply)
-    
+
     def __replyClosed(self, reply):
         """
         Private slot handling the closed signal of a reply.
-        
+
         @param reply reference to the network reply
         @type EricSchemeReply
         """
@@ -66,41 +67,42 @@
 class EricSchemeReply(QIODevice):
     """
     Class implementing a reply for a requested eric: page.
-    
+
     @signal closed emitted to signal that the web engine has read
         the data
     """
+
     closed = pyqtSignal()
-    
+
     _speedDialPage = ""
-    
+
     def __init__(self, job, parent=None):
         """
         Constructor
-        
+
         @param job reference to the URL request
         @type QWebEngineUrlRequestJob
         @param parent reference to the parent object
         @type QObject
         """
         super().__init__(parent)
-        
+
         self.__loaded = False
         self.__job = job
         self.__mutex = QMutex()
-        
+
         self.__pageName = self.__job.requestUrl().path()
         self.__buffer = QBuffer()
-        
+
         self.__loadPage()
-    
+
     def __loadPage(self):
         """
         Private method to load the requested page.
         """
         if self.__loaded:
             return
-        
+
         with EricMutexLocker(self.__mutex):
             if self.__pageName == "adblock":
                 contents = self.__adBlockPage()
@@ -110,46 +112,46 @@
                 contents = self.__speedDialPage()
             else:
                 contents = self.__errorPage()
-            
+
             self.__buffer.setData(contents.encode("utf-8"))
             self.__buffer.open(QIODevice.OpenModeFlag.ReadOnly)
             self.open(QIODevice.OpenModeFlag.ReadOnly)
-        
+
         self.readyRead.emit()
-        
+
         self.__loaded = True
-    
+
     def bytesAvailable(self):
         """
         Public method to get the number of available bytes.
-        
+
         @return number of available bytes
         @rtype int
         """
         with EricMutexLocker(self.__mutex):
             return self.__buffer.bytesAvailable()
-    
+
     def readData(self, maxlen):
         """
         Public method to retrieve data from the reply object.
-        
+
         @param maxlen maximum number of bytes to read (integer)
         @return string containing the data (bytes)
         """
         with EricMutexLocker(self.__mutex):
             return self.__buffer.read(maxlen)
-    
+
     def close(self):
         """
         Public method used to cloase the reply.
         """
         super().close()
         self.closed.emit()
-    
+
     def __adBlockPage(self):
         """
         Private method to build the AdBlock page.
-        
+
         @return built AdBlock page
         @rtype str
         """
@@ -157,100 +159,94 @@
         rule = query.queryItemValue("rule")
         subscription = query.queryItemValue("subscription")
         title = self.tr("Content blocked by AdBlock Plus")
-        message = self.tr(
-            "Blocked by rule: <i>{0} ({1})</i>").format(rule, subscription)
-        
+        message = self.tr("Blocked by rule: <i>{0} ({1})</i>").format(
+            rule, subscription
+        )
+
         page = getHtmlPage("adblockPage.html")
-        page = page.replace(
-            "@FAVICON@", pixmapFileToDataUrl("adBlockPlus16.png", True))
-        page = page.replace(
-            "@IMAGE@", pixmapFileToDataUrl("adBlockPlus64.png", True))
+        page = page.replace("@FAVICON@", pixmapFileToDataUrl("adBlockPlus16.png", True))
+        page = page.replace("@IMAGE@", pixmapFileToDataUrl("adBlockPlus64.png", True))
         page = page.replace("@TITLE@", title)
         page = page.replace("@MESSAGE@", message)
-        
+
         return page
-    
+
     def __errorPage(self):
         """
         Private method to build the Error page.
-        
+
         @return built Error page
         @rtype str
         """
         page = getHtmlPage("ericErrorPage.html")
-        page = page.replace(
-            "@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
+        page = page.replace("@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
+        page = page.replace("@IMAGE@", pixmapFileToDataUrl("ericWeb32.png", True))
+        page = page.replace("@TITLE@", self.tr("Error accessing eric: URL"))
         page = page.replace(
-            "@IMAGE@", pixmapFileToDataUrl("ericWeb32.png", True))
-        page = page.replace(
-            "@TITLE@", self.tr("Error accessing eric: URL"))
-        page = page.replace(
-            "@MESSAGE@", self.tr(
+            "@MESSAGE@",
+            self.tr(
                 "The special URL <strong>{0}</strong> is not supported."
                 " Please use one of these."
-            ).format(self.__job.requestUrl().toDisplayString())
+            ).format(self.__job.requestUrl().toDisplayString()),
         )
         page = page.replace(
-            "@ERICLIST@", "<br/>".join([
-                '<a href="eric:{0}">{0}</a>'.format(u)
-                for u in sorted(_SupportedPages)
-            ])
+            "@ERICLIST@",
+            "<br/>".join(
+                [
+                    '<a href="eric:{0}">{0}</a>'.format(u)
+                    for u in sorted(_SupportedPages)
+                ]
+            ),
         )
-        
+
         return page
-    
+
     def __startPage(self):
         """
         Private method to build the Start page.
-        
+
         @return built Start page
         @rtype str
         """
         page = getHtmlPage("startPage.html")
-        page = page.replace(
-            "@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
-        page = page.replace(
-            "@IMAGE@", pixmapFileToDataUrl("ericWeb32.png", True))
-        page = page.replace(
-            "@TITLE@", self.tr("Welcome to eric Web Browser!"))
+        page = page.replace("@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
+        page = page.replace("@IMAGE@", pixmapFileToDataUrl("ericWeb32.png", True))
+        page = page.replace("@TITLE@", self.tr("Welcome to eric Web Browser!"))
         page = page.replace("@ERIC_LINK@", self.tr("About eric"))
         page = page.replace("@HEADER_TITLE@", self.tr("eric Web Browser"))
         page = page.replace("@SUBMIT@", self.tr("Search!"))
-        ltr = "LTR" if ericApp().isLeftToRight() else"RTL"
+        ltr = "LTR" if ericApp().isLeftToRight() else "RTL"
         page = page.replace("@QT_LAYOUT_DIRECTION@", ltr)
-        
+
         return page
-    
+
     def __speedDialPage(self):
         """
         Private method to create the Speeddial page.
-        
+
         @return prepared speeddial page
         @rtype str
         """
         if not self._speedDialPage:
             page = getHtmlPage("speeddialPage.html")
-            page = page.replace(
-                "@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
-            page = page.replace(
-                "@IMG_PLUS@", pixmapFileToDataUrl("plus.png", True))
-            page = page.replace(
-                "@IMG_CLOSE@", pixmapFileToDataUrl("close.png", True))
-            page = page.replace(
-                "@IMG_EDIT@", pixmapFileToDataUrl("edit.png", True))
+            page = page.replace("@FAVICON@", pixmapFileToDataUrl("ericWeb16.png", True))
+            page = page.replace("@IMG_PLUS@", pixmapFileToDataUrl("plus.png", True))
+            page = page.replace("@IMG_CLOSE@", pixmapFileToDataUrl("close.png", True))
+            page = page.replace("@IMG_EDIT@", pixmapFileToDataUrl("edit.png", True))
+            page = page.replace("@IMG_RELOAD@", pixmapFileToDataUrl("reload.png", True))
             page = page.replace(
-                "@IMG_RELOAD@", pixmapFileToDataUrl("reload.png", True))
-            page = page.replace(
-                "@IMG_SETTINGS@", pixmapFileToDataUrl("setting.png", True))
+                "@IMG_SETTINGS@", pixmapFileToDataUrl("setting.png", True)
+            )
             page = page.replace(
-                "@LOADING-IMG@", pixmapFileToDataUrl("loading.gif", True))
+                "@LOADING-IMG@", pixmapFileToDataUrl("loading.gif", True)
+            )
             page = page.replace(
-                "@BOX-BORDER@",
-                pixmapFileToDataUrl("box-border-small.png", True))
-            
+                "@BOX-BORDER@", pixmapFileToDataUrl("box-border-small.png", True)
+            )
+
             page = page.replace("@JQUERY@", getJavascript("jquery.js"))
             page = page.replace("@JQUERY-UI@", getJavascript("jquery-ui.js"))
-            
+
             page = page.replace("@SITE-TITLE@", self.tr("Speed Dial"))
             page = page.replace("@URL@", self.tr("URL"))
             page = page.replace("@TITLE@", self.tr("Title"))
@@ -260,34 +256,32 @@
             page = page.replace("@TITLE-EDIT@", self.tr("Edit"))
             page = page.replace("@TITLE-REMOVE@", self.tr("Remove"))
             page = page.replace("@TITLE-RELOAD@", self.tr("Reload"))
-            page = page.replace("@TITLE-WARN@",
-                                self.tr("Are you sure to remove this"
-                                        " speed dial?"))
-            page = page.replace("@TITLE-WARN-REL@",
-                                self.tr("Are you sure you want to reload"
-                                        " all speed dials?"))
-            page = page.replace("@TITLE-FETCHTITLE@",
-                                self.tr("Load title from page"))
-            page = page.replace("@SETTINGS-TITLE@",
-                                self.tr("Speed Dial Settings"))
+            page = page.replace(
+                "@TITLE-WARN@", self.tr("Are you sure to remove this" " speed dial?")
+            )
+            page = page.replace(
+                "@TITLE-WARN-REL@",
+                self.tr("Are you sure you want to reload" " all speed dials?"),
+            )
+            page = page.replace("@TITLE-FETCHTITLE@", self.tr("Load title from page"))
+            page = page.replace("@SETTINGS-TITLE@", self.tr("Speed Dial Settings"))
             page = page.replace("@ADD-TITLE@", self.tr("Add New Page"))
-            page = page.replace("@TXT_NRROWS@",
-                                self.tr("Maximum pages in a row:"))
-            page = page.replace("@TXT_SDSIZE@",
-                                self.tr("Change size of pages:"))
-            page = page.replace("@JAVASCRIPT_DISABLED@",
-                                self.tr("SpeedDial requires enabled"
-                                        " JavaScript."))
-            
+            page = page.replace("@TXT_NRROWS@", self.tr("Maximum pages in a row:"))
+            page = page.replace("@TXT_SDSIZE@", self.tr("Change size of pages:"))
+            page = page.replace(
+                "@JAVASCRIPT_DISABLED@",
+                self.tr("SpeedDial requires enabled" " JavaScript."),
+            )
+
             self._speedDialPage = page
-        
+
         from WebBrowser.WebBrowserWindow import WebBrowserWindow
+
         dial = WebBrowserWindow.speedDial()
         page = (
-            self._speedDialPage
-            .replace("@INITIAL-SCRIPT@", dial.initialScript())
+            self._speedDialPage.replace("@INITIAL-SCRIPT@", dial.initialScript())
             .replace("@ROW-PAGES@", str(dial.pagesInRow()))
             .replace("@SD-SIZE@", str(dial.sdSize()))
         )
-        
+
         return page

eric ide

mercurial