Skip to content

Commit daffa21

Browse files
committed
Properly handle QT_API environment variable.
1 parent 3579c5d commit daffa21

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

qasync/__init__.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,22 @@
3333
QtModule = None
3434

3535
# If QT_API env variable is given, use that or fail trying
36-
QtModuleName = os.getenv('QT_API', '').strip()
37-
if QtModuleName:
36+
qtapi_env = os.getenv('QT_API', '').strip().lower()
37+
if qtapi_env:
38+
env_to_mod_map = {
39+
"pyqt5" : "PyQt5",
40+
"pyqt" : "PyQt4",
41+
"pyqt4" : "PyQt4",
42+
"pyside2" : "PySide2",
43+
"pyside" : "PySide"
44+
}
45+
if qtapi_env in env_to_mod_map:
46+
QtModuleName = env_to_mod_map[qtapi_env]
47+
else:
48+
raise ImportError("QT_API environment variable set ({}) but not one of [{}].".format(
49+
qtapi_env,
50+
", ".join(env_to_mod_map.keys())))
51+
3852
logger.info('Forcing use of {} as Qt Implementation'.format(QtModuleName))
3953
QtModule = importlib.import_module(QtModuleName)
4054

0 commit comments

Comments
 (0)