summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py10
-rw-r--r--qutebrowser/misc/backendproblem.py15
-rw-r--r--qutebrowser/misc/earlyinit.py11
-rw-r--r--qutebrowser/utils/qtutils.py6
-rw-r--r--qutebrowser/utils/version.py10
-rw-r--r--tests/end2end/conftest.py8
-rw-r--r--tests/helpers/testutils.py5
-rw-r--r--tests/unit/browser/test_history.py5
-rw-r--r--tests/unit/completion/test_models.py4
-rw-r--r--tests/unit/config/test_configfiles.py4
-rw-r--r--tests/unit/utils/test_version.py6
11 files changed, 26 insertions, 58 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index a0a83d7a7..38d8b5e7b 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -119,9 +119,7 @@ class _WebEngineSearchWrapHandler:
if not qtutils.version_check("5.14"):
return
- try:
- pass
- except ImportError:
+ if not hasattr(QtWebEngineCore, 'QWebEngineFindTextResult'):
# WORKAROUND for some odd PyQt/packaging bug where the
# findTextResult signal is available, but QWebEngineFindTextResult
# is not. Seems to happen on e.g. Gentoo.
@@ -1692,11 +1690,7 @@ class WebEngineTab(browsertab.AbstractTab):
page.navigation_request.connect(self._on_navigation_request)
page.printRequested.connect(self._on_print_requested)
- try:
- pass
- except ImportError:
- pass
- else:
+ if QtWebEngineWidgets.QWebEngineClientCertificateSelection:
page.selectClientCertificate.connect(
self._on_select_client_certificate)
diff --git a/qutebrowser/misc/backendproblem.py b/qutebrowser/misc/backendproblem.py
index 7cd292294..c318c2f80 100644
--- a/qutebrowser/misc/backendproblem.py
+++ b/qutebrowser/misc/backendproblem.py
@@ -263,21 +263,16 @@ class _BackendProblemChecker:
def _try_import_backends(self) -> _BackendImports:
"""Check whether backends can be imported and return BackendImports."""
- # pylint: disable=unused-import
results = _BackendImports()
- try:
- pass
- except (ImportError, ValueError) as e:
- results.webkit_error = str(e)
- else:
+ if QtWebKit and QtWebKitWidgets and QtWebKit.qWebKitVersion:
if not qtutils.is_new_qtwebkit():
results.webkit_error = "Unsupported legacy QtWebKit found"
+ else:
+ results.webkit_error = "Some required QtWebKit modules not found"
- try:
- pass
- except (ImportError, ValueError) as e:
- results.webengine_error = str(e)
+ if not QtWebEngineWidgets:
+ results.webengine_error = "QtWebEngineWidgets not available"
return results
diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py
index fe174991f..2c71804e7 100644
--- a/qutebrowser/misc/earlyinit.py
+++ b/qutebrowser/misc/earlyinit.py
@@ -78,7 +78,7 @@ def _die(message, exception=None):
message: The message to display.
exception: The exception object if we're handling an exception.
"""
- from qutebrowser.qt import QtWidgets, QtWebEngineWidgets, QtNetwork, QtCore
+ from qutebrowser.qt import QtWidgets, QtCore
if (('--debug' in sys.argv or '--no-err-windows' in sys.argv) and
exception is not None):
print(file=sys.stderr)
@@ -160,6 +160,7 @@ def check_pyqt():
def qt_version(qversion=None, qt_version_str=None):
"""Get a Qt version string based on the runtime/compiled versions."""
+ from qutebrowser.qt import QtCore
if qversion is None:
qversion = QtCore.qVersion()
if qt_version_str is None:
@@ -173,6 +174,7 @@ def qt_version(qversion=None, qt_version_str=None):
def check_qt_version():
"""Check if the Qt version is recent enough."""
+ from qutebrowser.qt import QtCore
try:
qt_ver = QtCore.QLibraryInfo.version().normalized()
recent_qt_runtime = qt_ver >= QtCore.QVersionNumber(5, 12) # type: ignore[operator]
@@ -194,9 +196,8 @@ def check_qt_version():
def check_ssl_support():
"""Check if SSL support is available."""
- try:
- pass
- except ImportError:
+ from qutebrowser.qt import QtNetwork
+ if not QtNetwork or not QtNetwork.QSslSocket:
_die("Fatal error: Your Qt is built without SSL support.")
@@ -288,7 +289,7 @@ def webengine_early_import():
error messages in backendproblem.py are accurate.
"""
try:
- pass
+ from qutebrowser.qt import QtWebEngineWidgets # pylint: disable=unused-import
except ImportError:
pass
diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py
index 8c0f8a6be..bf109095e 100644
--- a/qutebrowser/utils/qtutils.py
+++ b/qutebrowser/utils/qtutils.py
@@ -33,10 +33,8 @@ import operator
import contextlib
from typing import (Any, AnyStr, TYPE_CHECKING, BinaryIO, IO, Iterator,
Optional, Union, Tuple, cast)
-from qutebrowser.qt import QtWebKit, QtWebEngineWidgets, QtGui
-try:
- pass
-except ImportError: # pragma: no cover
+from qutebrowser.qt import QtWebKit, QtGui
+if not QtWebKit:
qWebKitVersion = None # type: ignore[assignment] # noqa: N816
if TYPE_CHECKING:
from qutebrowser.qt import QWebHistory
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py
index 6049b0708..28df9199d 100644
--- a/qutebrowser/utils/version.py
+++ b/qutebrowser/utils/version.py
@@ -38,13 +38,11 @@ from typing import (Mapping, Optional, Sequence, Tuple, ClassVar, Dict, cast,
TYPE_CHECKING)
from qutebrowser.qt import QtWidgets, QtWebKit, QtWebEngine, QtNetwork
-try:
- pass
-except ImportError: # pragma: no cover
+if not QtWebKit:
qWebKitVersion = None # type: ignore[assignment] # noqa: N816
-try:
- pass
-except ImportError: # pragma: no cover
+if QtWebEngine:
+ PYQT_WEBENGINE_VERSION_STR = QtWebEngine.PYQT_WEBENGINE_VERSION_STR
+else:
# Added in PyQt 5.13
PYQT_WEBENGINE_VERSION_STR = None # type: ignore[assignment]
diff --git a/tests/end2end/conftest.py b/tests/end2end/conftest.py
index 6e14495e2..d8d3b7a38 100644
--- a/tests/end2end/conftest.py
+++ b/tests/end2end/conftest.py
@@ -118,12 +118,10 @@ def _get_version_tag(tag):
reason='Needs ' + tag,
)
elif package == 'pyqtwebengine':
- try:
- pass
- except ImportError:
- running_version = QtCore.PYQT_VERSION
- else:
+ if QtWebEngine:
running_version = QtWebEngine.PYQT_WEBENGINE_VERSION
+ else:
+ running_version = QtCore.PYQT_VERSION
return pytest.mark.skipif(
not _check_version(
op_str=match.group('operator'),
diff --git a/tests/helpers/testutils.py b/tests/helpers/testutils.py
index 44a299de6..40031a433 100644
--- a/tests/helpers/testutils.py
+++ b/tests/helpers/testutils.py
@@ -272,10 +272,7 @@ def disable_seccomp_bpf_sandbox():
This is needed for some QtWebEngine setups, with older Qt versions but
newer kernels.
"""
- try:
- pass
- except ImportError:
- # no QtWebEngine available
+ if not QtWebEngine:
return False
affected_versions = set()
diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py
index d757d16ba..e41998b3c 100644
--- a/tests/unit/browser/test_history.py
+++ b/tests/unit/browser/test_history.py
@@ -320,11 +320,6 @@ class TestInit:
history.init(data_tmpdir / f'test_init_{backend}', qapp)
assert history.web_history.parent() is qapp
- try:
- pass
- except ImportError:
- QWebHistoryInterface = None
-
if backend == usertypes.Backend.QtWebKit:
default_interface = QtWebKit.QWebHistoryInterface.defaultInterface()
assert default_interface._history is history.web_history
diff --git a/tests/unit/completion/test_models.py b/tests/unit/completion/test_models.py
index 360ee9f8a..ceea3db35 100644
--- a/tests/unit/completion/test_models.py
+++ b/tests/unit/completion/test_models.py
@@ -31,10 +31,6 @@ from unittest import mock
import hypothesis
import hypothesis.strategies as hst
import pytest
-try:
- pass
-except ImportError:
- pass
from qutebrowser.misc import objects, guiprocess
from qutebrowser.completion import completer
diff --git a/tests/unit/config/test_configfiles.py b/tests/unit/config/test_configfiles.py
index 460a512fa..ed7cb1714 100644
--- a/tests/unit/config/test_configfiles.py
+++ b/tests/unit/config/test_configfiles.py
@@ -166,9 +166,7 @@ def state_writer(data_tmpdir):
@pytest.fixture
def qtwe_version_patcher(monkeypatch):
- try:
- pass
- except ImportError:
+ if not QtWebEngineWidgets:
pytest.skip("QtWebEngine not available")
def patch(ver):
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index d7a46ae07..d65a91082 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -1007,11 +1007,9 @@ class TestWebEngineVersions:
if '.dev' in QtCore.PYQT_VERSION_STR:
pytest.skip("dev version of PyQt5")
- try:
- pass
- except ImportError as e:
+ if not QtWebEngine or not hasattr(QtWebEngine, "PYQT_WEBENGINE_VERSION"):
# QtWebKit or QtWebEngine < 5.13
- pytest.skip(str(e))
+ pytest.skip("QtWebEngine")
if QtWebEngine.PYQT_WEBENGINE_VERSION >= 0x050F02:
# Starting with Qt 5.15.2, we can only do bad guessing anyways...