WebBrowser/SafeBrowsing/SafeBrowsingManager.py

changeset 6093
5ed91fe54bc9
parent 6048
82ad8ec9548c
child 6187
2cc7e3629784
diff -r f0d60c3de700 -r 5ed91fe54bc9 WebBrowser/SafeBrowsing/SafeBrowsingManager.py
--- a/WebBrowser/SafeBrowsing/SafeBrowsingManager.py	Thu Jan 25 17:47:09 2018 +0100
+++ b/WebBrowser/SafeBrowsing/SafeBrowsingManager.py	Thu Jan 25 18:50:49 2018 +0100
@@ -44,6 +44,11 @@
     progressMessage = pyqtSignal(str, int)
     progress = pyqtSignal(int)
     
+    enabled = (
+        Preferences.getWebBrowser("SafeBrowsingEnabled") and
+        bool(Preferences.getWebBrowser("SafeBrowsingApiKey"))
+    )
+    
     def __init__(self):
         """
         Constructor
@@ -57,10 +62,6 @@
         else:
             self.__apiClient = None
         
-        self.__enabled = (
-            Preferences.getWebBrowser("SafeBrowsingEnabled") and
-            bool(self.__apiKey))
-        
         gsbCachePath = os.path.join(
             Utilities.getConfigDir(), "web_browser", "safe_browsing")
         self.__cache = SafeBrowsingCache(gsbCachePath, self)
@@ -89,7 +90,7 @@
                     self.__apiClient = SafeBrowsingAPIClient(self.__apiKey,
                                                              parent=self)
         
-        self.__enabled = (
+        SafeBrowsingManager.enabled = (
             Preferences.getWebBrowser("SafeBrowsingEnabled") and
             bool(self.__apiKey))
         
@@ -111,14 +112,15 @@
                 platform = "linux"
             self.__platforms = SafeBrowsingAPIClient.getPlatformTypes(platform)
     
-    def isEnabled(self):
+    @classmethod
+    def isEnabled(cls):
         """
-        Public method to check, if safe browsing is enabled.
+        Class method to check, if safe browsing is enabled.
         
         @return flag indicating the enabled state
         @rtype bool
         """
-        return self.__enabled
+        return cls.enabled
     
     def close(self):
         """
@@ -133,7 +135,7 @@
         @return flag indicating expiration
         @rtype bool
         """
-        return self.__enabled and self.__apiClient.fairUseDelayExpired()
+        return self.isEnabled() and self.__apiClient.fairUseDelayExpired()
     
     def __showNotificationMessage(self, message, timeout=5):
         """
@@ -168,7 +170,7 @@
         Private method to set auto update for the threat lists.
         """
         autoUpdateEnabled = Preferences.getWebBrowser("SafeBrowsingAutoUpdate")
-        if autoUpdateEnabled and self.__enabled:
+        if autoUpdateEnabled and self.isEnabled():
             nextUpdateDateTime = Preferences.getWebBrowser(
                 "SafeBrowsingUpdateDateTime")
             if nextUpdateDateTime.isValid():
@@ -193,7 +195,7 @@
         Private slot to perform the auto update of the threat lists.
         """
         ok = False
-        if self.__enabled:
+        if self.isEnabled():
             self.__showNotificationMessage(
                 self.tr("Updating threat lists..."), 0)
             ok = self.updateHashPrefixCache()[0]
@@ -224,7 +226,7 @@
         @return flag indicating success and an error message
         @rtype tuple of (bool, str)
         """
-        if not self.__enabled:
+        if not self.isEnabled():
             return False, self.tr("Safe Browsing is disabled.")
         
         if not self.__apiClient.fairUseDelayExpired():
@@ -369,7 +371,7 @@
         @rtype list of ThreatList
         @exception ValueError raised for an invalid URL
         """
-        if self.__enabled:
+        if self.isEnabled():
             if isinstance(url, QUrl):
                 urlStr = url.toString().strip()
             else:

eric ide

mercurial