From dee75f9c7741c70b73e86bc7259f40da3d4ca9b9 Mon Sep 17 00:00:00 2001 From: Jimmy Date: Sun, 17 Apr 2022 10:59:59 +1200 Subject: Some leftovers and special cases pyqt wrapper re-write I forgot to include QtTest in the renamer it seems. Import in TYPE_CHECKING conditions are not consistently handled, possibly when they are only used in string types. Not sure what happened with the duplicates in the logging modules. Found by grepping PyQt5 --- qutebrowser/browser/browsertab.py | 15 ++++++--------- qutebrowser/qt.py | 2 ++ qutebrowser/utils/log.py | 1 - tests/end2end/fixtures/testprocess.py | 5 ++--- tests/unit/misc/test_ipc.py | 4 ++-- tests/unit/utils/test_log.py | 1 - 6 files changed, 12 insertions(+), 16 deletions(-) diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index 1ee429b70..3a484a8ec 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -25,13 +25,10 @@ import functools import dataclasses from typing import (cast, TYPE_CHECKING, Any, Callable, Iterable, List, Optional, Sequence, Set, Type, Union) -from qutebrowser.qt import QtWidgets, QtWebKitWidgets, QtPrintSupport, QtNetwork +from qutebrowser.qt import QtWidgets, QtPrintSupport, QtNetwork if TYPE_CHECKING: - from PyQt5.QtWebKit import QWebHistory, QWebHistoryItem - from qutebrowser.qt import QWebPage - from PyQt5.QtWebEngineWidgets import ( - QWebEngineHistory, QWebEngineHistoryItem, QWebEnginePage) + from qutebrowser.qt import QtWebKit, QtWebKitWidgets, QtWebEngineWidgets from qutebrowser.keyinput import modeman from qutebrowser.config import config @@ -146,8 +143,8 @@ class AbstractAction: """Attribute ``action`` of AbstractTab for Qt WebActions.""" - action_class: Type[Union['QWebPage', 'QWebEnginePage']] - action_base: Type[Union['QWebPage.WebAction', 'QWebEnginePage.WebAction']] + action_class: Type[Union['QtWebKitWidgets.QWebPage', 'QtWebEngineWidgets.QWebEnginePage']] + action_base: Type[Union['QtWebKitWidgets.QWebPage.WebAction', 'QtWebEngineWidgets.QWebEnginePage.WebAction']] def __init__(self, tab: 'AbstractTab') -> None: self._widget = cast(QtWidgets.QWidget, None) @@ -640,13 +637,13 @@ class AbstractHistory: def __init__(self, tab: 'AbstractTab') -> None: self._tab = tab - self._history = cast(Union['QWebHistory', 'QWebEngineHistory'], None) + self._history = cast(Union['QtWebKit.QWebHistory', 'QtWebEngineWidgets.QWebEngineHistory'], None) self.private_api = AbstractHistoryPrivate() def __len__(self) -> int: raise NotImplementedError - def __iter__(self) -> Iterable[Union['QWebHistoryItem', 'QWebEngineHistoryItem']]: + def __iter__(self) -> Iterable[Union['QtWebKit.QWebHistoryItem', 'QtWebEngineWidgets.QWebEngineHistoryItem']]: raise NotImplementedError def _check_count(self, count: int) -> None: diff --git a/qutebrowser/qt.py b/qutebrowser/qt.py index 112bd20a8..23e92ba36 100644 --- a/qutebrowser/qt.py +++ b/qutebrowser/qt.py @@ -50,6 +50,7 @@ if PyQt5: from PyQt5 import QtQml from PyQt5 import QtSql from PyQt5 import QtWidgets + from PyQt5 import QtTest elif PyQt6: from PyQt6 import QtCore # type: ignore[no-redef] from PyQt6 import QtDBus # type: ignore[no-redef] @@ -59,6 +60,7 @@ elif PyQt6: from PyQt6 import QtQml # type: ignore[no-redef] from PyQt6 import QtSql # type: ignore[no-redef] from PyQt6 import QtWidgets # type: ignore[no-redef] + from PyQt6 import QtTest # type: ignore[no-redef] try: if PyQt5: diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py index dd11e3fb1..d7263a726 100644 --- a/qutebrowser/utils/log.py +++ b/qutebrowser/utils/log.py @@ -35,7 +35,6 @@ import argparse from typing import (TYPE_CHECKING, Any, Iterator, Mapping, MutableSequence, Optional, Set, Tuple, Union) -from PyQt5 import QtCore from qutebrowser.qt import QtCore # Optional imports diff --git a/tests/end2end/fixtures/testprocess.py b/tests/end2end/fixtures/testprocess.py index e9cede84d..3284d5670 100644 --- a/tests/end2end/fixtures/testprocess.py +++ b/tests/end2end/fixtures/testprocess.py @@ -26,12 +26,11 @@ import dataclasses import pytest import pytestqt.wait_signal -from PyQt5.QtTest import QSignalSpy from helpers import testutils from qutebrowser.utils import utils as quteutils -from qutebrowser.qt import QtCore +from qutebrowser.qt import QtCore, QtTest class InvalidLine(Exception): @@ -393,7 +392,7 @@ class Process(QtCore.QObject): elided = quteutils.elide(repr(message), 100) self._log("\n----> Waiting for {} in the log".format(elided)) - spy = QSignalSpy(self.new_data) + spy = QtTest.QSignalSpy(self.new_data) elapsed_timer = QtCore.QElapsedTimer() elapsed_timer.start() diff --git a/tests/unit/misc/test_ipc.py b/tests/unit/misc/test_ipc.py index 2c720ceed..a268b924c 100644 --- a/tests/unit/misc/test_ipc.py +++ b/tests/unit/misc/test_ipc.py @@ -30,7 +30,7 @@ from unittest import mock from typing import Optional, List import pytest -from PyQt5.QtTest import QSignalSpy +from qutebrowser.qt import QtTest import qutebrowser from qutebrowser.misc import ipc @@ -528,7 +528,7 @@ def test_invalid_data(qtbot, ipc_server, connected_socket, caplog, data, msg): def test_multiline(qtbot, ipc_server, connected_socket): - spy = QSignalSpy(ipc_server.got_args) + spy = QtTest.QSignalSpy(ipc_server.got_args) data = ('{{"args": ["one"], "target_arg": "tab",' ' "protocol_version": {version}}}\n' diff --git a/tests/unit/utils/test_log.py b/tests/unit/utils/test_log.py index 5ebd633a8..8a2c3d485 100644 --- a/tests/unit/utils/test_log.py +++ b/tests/unit/utils/test_log.py @@ -28,7 +28,6 @@ import dataclasses import pytest import _pytest.logging # pylint: disable=import-private-name -from PyQt5 import QtCore from qutebrowser import qutebrowser from qutebrowser.utils import log -- cgit v1.2.3-54-g00ecf