Skip to content

Commit 40c3239

Browse files
authored
Get rid of branching in top of dunder init and no cover some stuff
1 parent 57a7e2a commit 40c3239

1 file changed

Lines changed: 9 additions & 32 deletions

File tree

src/qasync/__init__.py

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
}
4141
if qtapi_env in env_to_mod_map:
4242
QtModuleName = env_to_mod_map[qtapi_env]
43-
else:
43+
else: # pragma: no cover
4444
raise ImportError(
4545
"QT_API environment variable set ({}) but not one of [{}].".format(
4646
qtapi_env, ", ".join(env_to_mod_map.keys())
@@ -51,14 +51,14 @@
5151
QtModule = importlib.import_module(QtModuleName)
5252

5353
# If a Qt lib is already imported, use that
54-
if not QtModule:
54+
if not QtModule: # pragma: no cover
5555
for QtModuleName in ("PyQt5", "PyQt6", "PySide2", "PySide6"):
5656
if QtModuleName in sys.modules:
5757
QtModule = sys.modules[QtModuleName]
5858
break
5959

6060
# Try importing qt libs
61-
if not QtModule:
61+
if not QtModule: # pragma: no cover
6262
for QtModuleName in ("PyQt5", "PyQt6", "PySide2", "PySide6"):
6363
try:
6464
QtModule = importlib.import_module(QtModuleName)
@@ -72,34 +72,11 @@
7272

7373
QtCore = importlib.import_module(QtModuleName + ".QtCore", package=QtModuleName)
7474
QtGui = importlib.import_module(QtModuleName + ".QtGui", package=QtModuleName)
75-
76-
if QtModuleName == "PyQt5":
77-
from PyQt5 import QtWidgets
78-
from PyQt5.QtCore import pyqtSlot as Slot
79-
80-
QApplication = QtWidgets.QApplication
81-
AllEvents = QtCore.QEventLoop.ProcessEventsFlags(0x00)
82-
83-
elif QtModuleName == "PyQt6":
84-
from PyQt6 import QtWidgets
85-
from PyQt6.QtCore import pyqtSlot as Slot
86-
87-
QApplication = QtWidgets.QApplication
88-
AllEvents = QtCore.QEventLoop.ProcessEventsFlag(0x00)
89-
90-
elif QtModuleName == "PySide2":
91-
from PySide2 import QtWidgets
92-
from PySide2.QtCore import Slot
93-
94-
QApplication = QtWidgets.QApplication
95-
AllEvents = QtCore.QEventLoop.ProcessEventsFlags(0x00)
96-
97-
elif QtModuleName == "PySide6":
98-
from PySide6 import QtWidgets
99-
from PySide6.QtCore import Slot
100-
101-
QApplication = QtWidgets.QApplication
102-
AllEvents = QtCore.QEventLoop.ProcessEventsFlags(0x00)
75+
QtWidgets = importlib.import_module(QtModuleName + ".QtWidgets", package=QtModuleName)
76+
QApplication = QtWidgets.QApplication
77+
Slot = getattr(QtCore, "pyqtSlot", None) or getattr(QtCore, "Slot")
78+
ProcessEventsFlag = getattr(QtCore.QEventLoop, "ProcessEventsFlag", None) or getattr(QtCore.QEventLoop, "ProcessEventsFlags", None)
79+
AllEvents = ProcessEventsFlag(0x00)
10380

10481
from ._common import with_logger # noqa
10582

@@ -180,7 +157,7 @@ def __init__(self, max_workers=10, stack_size=None):
180157
super().__init__()
181158
self.__max_workers = max_workers
182159
self.__queue = Queue()
183-
if stack_size is None:
160+
if stack_size is None: # pragma: no cover
184161
# Match cpython/Python/thread_pthread.h
185162
if sys.platform.startswith("darwin"):
186163
stack_size = 16 * 2**20

0 commit comments

Comments
 (0)