eric6/WebBrowser/FeaturePermissions/FeaturePermissionManager.py

changeset 8243
cc717c2ae956
parent 8227
349308e84eeb
--- a/eric6/WebBrowser/FeaturePermissions/FeaturePermissionManager.py	Thu Apr 15 16:52:05 2021 +0200
+++ b/eric6/WebBrowser/FeaturePermissions/FeaturePermissionManager.py	Thu Apr 15 18:11:24 2021 +0200
@@ -7,6 +7,8 @@
 Module implementing the feature permission manager object.
 """
 
+import contextlib
+
 from PyQt5.QtCore import QObject
 from PyQt5.QtWidgets import QDialog
 from PyQt5.QtWebEngineWidgets import QWebEnginePage
@@ -51,33 +53,25 @@
                 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
                 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
             },
+            QWebEnginePage.Feature.DesktopVideoCapture: {
+                QWebEnginePage.PermissionPolicy.PermissionGrantedByUser:
+                    [],
+                QWebEnginePage.PermissionPolicy.PermissionDeniedByUser:
+                    [],
+            },
+            QWebEnginePage.Feature.DesktopAudioVideoCapture: {
+                QWebEnginePage.PermissionPolicy.PermissionGrantedByUser:
+                    [],
+                QWebEnginePage.PermissionPolicy.PermissionDeniedByUser:
+                    [],
+            },
         }
-        try:
-            # these are defined as of Qt 5.10.0/PyQt 5.10.0
-            self.__featurePermissions.update({
-                QWebEnginePage.Feature.DesktopVideoCapture: {
-                    QWebEnginePage.PermissionPolicy.PermissionGrantedByUser:
-                        [],
-                    QWebEnginePage.PermissionPolicy.PermissionDeniedByUser:
-                        [],
-                },
-                QWebEnginePage.Feature.DesktopAudioVideoCapture: {
-                    QWebEnginePage.PermissionPolicy.PermissionGrantedByUser:
-                        [],
-                    QWebEnginePage.PermissionPolicy.PermissionDeniedByUser:
-                        [],
-                },
-            })
-        except AttributeError:
-            pass
-        try:
+        with contextlib.suppress(AttributeError):
             # this was re-added in Qt 5.13.0
             self.__featurePermissions[QWebEnginePage.Feature.Notifications] = {
                 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
                 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
             }
-        except AttributeError:
-            pass
         
         self.__featurePermissionsKeys = {
             (QWebEnginePage.Feature.Geolocation,
@@ -110,26 +104,20 @@
             (QWebEnginePage.Feature.MouseLock,
              QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
             "MouseLockDenied",
+            (QWebEnginePage.Feature.DesktopVideoCapture,
+             QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
+            "DesktopVideoCaptureGranted",
+            (QWebEnginePage.Feature.DesktopVideoCapture,
+             QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
+            "DesktopVideoCaptureDenied",
+            (QWebEnginePage.Feature.DesktopAudioVideoCapture,
+             QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
+            "DesktopAudioVideoCaptureGranted",
+            (QWebEnginePage.Feature.DesktopAudioVideoCapture,
+             QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
+            "DesktopAudioVideoCaptureDenied",
         }
-        try:
-            # these are defined as of Qt 5.10.0/PyQt 5.10.0
-            self.__featurePermissionsKeys.update({
-                (QWebEnginePage.Feature.DesktopVideoCapture,
-                 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
-                "DesktopVideoCaptureGranted",
-                (QWebEnginePage.Feature.DesktopVideoCapture,
-                 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
-                "DesktopVideoCaptureDenied",
-                (QWebEnginePage.Feature.DesktopAudioVideoCapture,
-                 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser):
-                "DesktopAudioVideoCaptureGranted",
-                (QWebEnginePage.Feature.DesktopAudioVideoCapture,
-                 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
-                "DesktopAudioVideoCaptureDenied",
-            })
-        except AttributeError:
-            pass
-        try:
+        with contextlib.suppress(AttributeError):
             # this was re-added in Qt 5.13.0
             self.__featurePermissionsKeys.update({
                 (QWebEnginePage.Feature.Notifications,
@@ -139,8 +127,6 @@
                  QWebEnginePage.PermissionPolicy.PermissionDeniedByUser):
                 "NotificationsDenied",
             })
-        except AttributeError:
-            pass
         
         self.__loaded = False
 

eric ide

mercurial