__init__.py
39 lines
| 832 B
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r21934 | import importlib | ||
import os | ||||
aliases = { | ||||
Thomas Kluyver
|
r21941 | 'qt4': 'qt', | ||
Thomas Kluyver
|
r22118 | 'gtk2': 'gtk', | ||
Thomas Kluyver
|
r21934 | } | ||
Thomas Kluyver
|
r22118 | backends = [ | ||
'qt', 'qt4', 'qt5', | ||||
'gtk', 'gtk2', 'gtk3', | ||||
'tk', | ||||
'wx', | ||||
'pyglet', 'glut', | ||||
Min RK
|
r22159 | 'osx', | ||
Thomas Kluyver
|
r22118 | ] | ||
class UnknownBackend(KeyError): | ||||
def __init__(self, name): | ||||
self.name = name | ||||
def __str__(self): | ||||
return ("No event loop integration for {!r}. " | ||||
"Supported event loops are: {}").format(self.name, | ||||
', '.join(backends)) | ||||
Thomas Kluyver
|
r21934 | def get_inputhook_func(gui): | ||
Thomas Kluyver
|
r22118 | if gui not in backends: | ||
raise UnknownBackend(gui) | ||||
Thomas Kluyver
|
r21934 | if gui in aliases: | ||
return get_inputhook_func(aliases[gui]) | ||||
if gui == 'qt5': | ||||
os.environ['QT_API'] = 'pyqt5' | ||||
Thomas Kluyver
|
r22118 | gui = 'qt' | ||
Thomas Kluyver
|
r21934 | |||
mod = importlib.import_module('IPython.terminal.pt_inputhooks.'+gui) | ||||
return mod.inputhook | ||||