summaryrefslogtreecommitdiff
path: root/qutebrowser/qt/sip.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/qt/sip.py')
-rw-r--r--qutebrowser/qt/sip.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/qutebrowser/qt/sip.py b/qutebrowser/qt/sip.py
index 12d346516..7be3b061c 100644
--- a/qutebrowser/qt/sip.py
+++ b/qutebrowser/qt/sip.py
@@ -1,7 +1,18 @@
# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et:
-# FIXME:qt6 (lint)
-# pylint: disable=missing-module-docstring,wildcard-import,unused-wildcard-import,no-else-raise
-# flake8: noqa
+# pylint: disable=import-error,wildcard-import,unused-wildcard-import
+
+"""Wrapped Qt imports for PyQt5.sip/PyQt6.sip.
+
+All code in qutebrowser should use this module instead of importing from
+PyQt/sip directly. This allows supporting both Qt 5 and Qt 6.
+
+See machinery.py for details on how Qt wrapper selection works.
+
+Any API exported from this module is based on the PyQt6.sip API:
+https://www.riverbankcomputing.com/static/Docs/PyQt6/api/sip/sip-module.html
+
+Note that we don't yet abstract between PySide/PyQt here.
+"""
from qutebrowser.qt import machinery
@@ -11,7 +22,7 @@ machinery.init()
# still package later versions of PyQt6 with a top-level "sip" rather than "PyQt6.sip".
_VENDORED_SIP = False
-if machinery.USE_PYSIDE6:
+if machinery.USE_PYSIDE6: # pylint: disable=no-else-raise
raise machinery.Unavailable()
elif machinery.USE_PYQT5:
try:
@@ -25,9 +36,8 @@ elif machinery.USE_PYQT6:
_VENDORED_SIP = True
except ImportError:
pass
-
else:
raise machinery.UnknownWrapper()
if not _VENDORED_SIP:
- from sip import * # type: ignore[import] # pylint: disable=import-error
+ from sip import * # type: ignore[import]