summaryrefslogtreecommitdiff
path: root/qutebrowser/utils
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/utils')
-rw-r--r--qutebrowser/utils/debug.py14
-rw-r--r--qutebrowser/utils/qtutils.py27
-rw-r--r--qutebrowser/utils/usertypes.py4
-rw-r--r--qutebrowser/utils/utils.py8
4 files changed, 34 insertions, 19 deletions
diff --git a/qutebrowser/utils/debug.py b/qutebrowser/utils/debug.py
index ff6c3b9c2..f4f73dfc7 100644
--- a/qutebrowser/utils/debug.py
+++ b/qutebrowser/utils/debug.py
@@ -33,7 +33,7 @@ from qutebrowser.qt.core import Qt, QEvent, QMetaMethod, QObject, pyqtBoundSigna
from qutebrowser.utils import log, utils, qtutils, objreg
from qutebrowser.misc import objects
-from qutebrowser.qt import sip
+from qutebrowser.qt import sip, machinery
def log_events(klass: Type[QObject]) -> Type[QObject]:
@@ -99,7 +99,10 @@ def log_signals(obj: QObject) -> QObject:
return obj
-_EnumValueType = Union[sip.simplewrapper, int]
+if machinery.IS_QT5:
+ _EnumValueType = Union[sip.simplewrapper, int]
+else:
+ _EnumValueType = Union[sip.wrapper ,int]
def _qenum_key_python(
@@ -109,8 +112,10 @@ def _qenum_key_python(
"""New-style PyQt6: Try getting value from Python enum."""
if isinstance(value, enum.Enum) and value.name:
return value.name
+ assert isinstance(value, int)
# We got an int with klass passed: Try asking Python enum for member
+ assert klass
if issubclass(klass, enum.Enum):
try:
name = klass(value).name
@@ -131,7 +136,7 @@ def _qenum_key_qt(
# However, not every Qt enum value has a staticMetaObject
try:
meta_obj = base.staticMetaObject # type: ignore[union-attr]
- idx = meta_obj.indexOfEnumerator(klass.__name__)
+ idx = meta_obj.indexOfEnumerator(klass.__name__) # type: ignore[union-attr]
meta_enum = meta_obj.enumerator(idx)
key = meta_enum.valueToKey(int(value)) # type: ignore[arg-type]
if key is not None:
@@ -140,6 +145,7 @@ def _qenum_key_qt(
pass
# PyQt5: Try finding value match in class
+ assert klass
for name, obj in vars(base).items():
if isinstance(obj, klass) and obj == value:
return name
@@ -222,7 +228,7 @@ def qflags_key(base: Type[_EnumValueType],
for bit in bits:
# We have to re-convert to an enum type here or we'll sometimes get an
# empty string back.
- enum_value = klass(bit) # type: ignore[call-arg]
+ enum_value = klass(bit)
names.append(qenum_key(base, enum_value, klass))
return '|'.join(names)
diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py
index 0bd9c94e8..66a4f679f 100644
--- a/qutebrowser/utils/qtutils.py
+++ b/qutebrowser/utils/qtutils.py
@@ -40,13 +40,14 @@ from qutebrowser.qt.core import (qVersion, QEventLoop, QDataStream, QByteArray,
QIODevice, QFileDevice, QSaveFile, QT_VERSION_STR,
PYQT_VERSION_STR, QObject, QUrl, QLibraryInfo)
from qutebrowser.qt.gui import QColor
+from qutebrowser.qt import machinery
try:
from qutebrowser.qt.webkit import qWebKitVersion
except ImportError: # pragma: no cover
qWebKitVersion = None # type: ignore[assignment] # noqa: N816
if TYPE_CHECKING:
from qutebrowser.qt.webkit import QWebHistory
- from qutebrowser.qt.webenginewidgets import QWebEngineHistory
+ from qutebrowser.qt.webenginecore import QWebEngineHistory
from qutebrowser.misc import objects
from qutebrowser.utils import usertypes, utils
@@ -186,13 +187,21 @@ def check_qdatastream(stream: QDataStream) -> None:
raise OSError(status_to_str[stream.status()])
-_QtSerializableType = Union[
- QObject,
- QByteArray,
- QUrl,
- 'QWebEngineHistory',
- 'QWebHistory'
-]
+if machinery.IS_QT5:
+ _QtSerializableType = Union[
+ QObject,
+ QByteArray,
+ QUrl,
+ 'QWebEngineHistory',
+ 'QWebHistory'
+ ]
+else:
+ _QtSerializableType = Union[
+ QObject,
+ QByteArray,
+ QUrl,
+ 'QWebEngineHistory',
+ ]
def serialize(obj: _QtSerializableType) -> QByteArray:
@@ -581,7 +590,7 @@ class LibraryPath(enum.Enum):
def library_path(which: LibraryPath) -> pathlib.Path:
"""Wrapper around QLibraryInfo.path / .location."""
- if hasattr(QLibraryInfo, "path"):
+ if machinery.IS_QT6:
# Qt 6
val = getattr(QLibraryInfo.LibraryPath, which.value)
ret = QLibraryInfo.path(val)
diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py
index b84af4524..aadda000b 100644
--- a/qutebrowser/utils/usertypes.py
+++ b/qutebrowser/utils/usertypes.py
@@ -491,7 +491,7 @@ class AbstractCertificateErrorWrapper:
"""A wrapper over an SSL/certificate error."""
def __init__(self) -> None:
- self._certificate_accepted = None
+ self._certificate_accepted: Optional[bool] = None
def __str__(self) -> str:
raise NotImplementedError
@@ -514,7 +514,7 @@ class AbstractCertificateErrorWrapper:
def defer(self) -> None:
raise NotImplementedError
- def certificate_was_accepted(self) -> None:
+ def certificate_was_accepted(self) -> bool:
"""Check whether the certificate was accepted by the user."""
if not self.is_overridable():
return False
diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py
index 29c4be1d9..0817d4c56 100644
--- a/qutebrowser/utils/utils.py
+++ b/qutebrowser/utils/utils.py
@@ -138,16 +138,16 @@ class VersionNumber:
return self._ver != other._ver
def __ge__(self, other: 'VersionNumber') -> bool:
- return self._ver >= other._ver # type: ignore[operator]
+ return self._ver >= other._ver
def __gt__(self, other: 'VersionNumber') -> bool:
- return self._ver > other._ver # type: ignore[operator]
+ return self._ver > other._ver
def __le__(self, other: 'VersionNumber') -> bool:
- return self._ver <= other._ver # type: ignore[operator]
+ return self._ver <= other._ver
def __lt__(self, other: 'VersionNumber') -> bool:
- return self._ver < other._ver # type: ignore[operator]
+ return self._ver < other._ver
class Unreachable(Exception):