def _try_import_backends(self) -> _BackendImports: """Check whether backends can be imported and return BackendImports.""" # pylint: disable=unused-import results = _BackendImports() try: from PyQt5 import QtWebKit from PyQt5 import QtWebKitWidgets except ImportError as e: results.webkit_available = False results.webkit_error = str(e) else: if qtutils.is_new_qtwebkit(): results.webkit_available = True else: results.webkit_available = False results.webkit_error = "Unsupported legacy QtWebKit found" try: from PyQt5 import QtWebEngineWidgets except ImportError as e: results.webengine_available = False results.webengine_error = str(e) else: results.webengine_available = True assert results.webkit_available is not None assert results.webengine_available is not None if not results.webkit_available: assert results.webkit_error is not None if not results.webengine_available: assert results.webengine_error is not None return results
def _try_import_backends(): """Check whether backends can be imported and return BackendImports.""" # pylint: disable=unused-variable results = BackendImports() try: from PyQt5 import QtWebKit from PyQt5 import QtWebKitWidgets except ImportError as e: results.webkit_available = False results.webkit_error = str(e) else: if qtutils.is_new_qtwebkit(): results.webkit_available = True else: results.webkit_available = False results.webkit_error = "Unsupported legacy QtWebKit found" try: from PyQt5 import QtWebEngineWidgets except ImportError as e: results.webengine_available = False results.webengine_error = str(e) else: results.webengine_available = True assert results.webkit_available is not None assert results.webengine_available is not None if not results.webkit_available: assert results.webkit_error is not None if not results.webengine_available: assert results.webengine_error is not None return results
def _try_import_backends(self) -> _BackendImports: """Check whether backends can be imported and return BackendImports.""" # pylint: disable=unused-import results = _BackendImports() try: from PyQt5 import QtWebKit from PyQt5.QtWebKit import qWebKitVersion from PyQt5 import QtWebKitWidgets except (ImportError, ValueError) as e: results.webkit_error = str(e) else: if not qtutils.is_new_qtwebkit(): results.webkit_error = "Unsupported legacy QtWebKit found" try: from PyQt5 import QtWebEngineWidgets except (ImportError, ValueError) as e: results.webengine_error = str(e) return results
def get_backend(args): """Find out what backend to use based on available libraries.""" try: import PyQt5.QtWebKit # pylint: disable=unused-variable except ImportError: webkit_available = False else: webkit_available = qtutils.is_new_qtwebkit() str_to_backend = { 'webkit': usertypes.Backend.QtWebKit, 'webengine': usertypes.Backend.QtWebEngine, } if args.backend is not None: return str_to_backend[args.backend] elif val.backend != 'auto': return str_to_backend[val.backend] elif webkit_available: return usertypes.Backend.QtWebKit else: return usertypes.Backend.QtWebEngine
def test_is_new_qtwebkit(monkeypatch, version, is_new): monkeypatch.setattr(qtutils, 'qWebKitVersion', lambda: version) assert qtutils.is_new_qtwebkit() == is_new
def check_new_webkit(backend): """Make sure we use QtWebEngine or a new QtWebKit.""" from qutebrowser.utils import usertypes, qtutils if backend == usertypes.Backend.QtWebKit and not qtutils.is_new_qtwebkit(): _die("qutebrowser does not support legacy QtWebKit versions anymore, " "see the installation docs for details.")
def test_is_new_qtwebkit(monkeypatch, version, is_new): monkeypatch.setattr(qtutils, 'qWebKitVersion', lambda: version) assert qtutils.is_new_qtwebkit() == is_new
def check_new_webkit(backend): """Make sure we use QtWebEngine or a new QtWebKit.""" from qutebrowser.utils import usertypes, qtutils if backend == usertypes.Backend.QtWebKit and not qtutils.is_new_qtwebkit(): _die("qutebrowser does not support legacy QtWebKit versions anymore, " "see the installation docs for details.")