summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortonycpsu <tonycpsu@gmail.com>2021-02-14 13:09:09 -0500
committerGitHub <noreply@github.com>2021-02-14 13:09:09 -0500
commitc93aeb23fbca0ce8f12187ebc3ca330443a3bf6b (patch)
treebd498bd1d14437d95f5bd2d8680f7b809696b1eb
parent9626fb48ab39456e7154106d281a43adf17c9107 (diff)
parenta57465c94ba3a401531853b42e1bd071bcd2e93c (diff)
downloadurwid-c93aeb23fbca0ce8f12187ebc3ca330443a3bf6b.tar.gz
Merge pull request #439 from collmot/fix/trio-hazmat-deprecation-warning
fix: use trio.lowlevel instead of trio.hazmat with Trio >= 0.15
-rw-r--r--urwid/_async_kw_event_loop.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/urwid/_async_kw_event_loop.py b/urwid/_async_kw_event_loop.py
index 5138526..ba8ad9d 100644
--- a/urwid/_async_kw_event_loop.py
+++ b/urwid/_async_kw_event_loop.py
@@ -42,7 +42,11 @@ class TrioEventLoop(EventLoop):
self._nursery = None
self._sleep = trio.sleep
- self._wait_readable = trio.hazmat.wait_readable
+ try:
+ self._wait_readable = trio.lowlevel.wait_readable
+ except AttributeError:
+ # Trio 0.14 or older
+ self._wait_readable = trio.hazmat.wait_readable
def alarm(self, seconds, callback):
"""Calls `callback()` a given time from now. No parameters are passed
@@ -160,12 +164,20 @@ class TrioEventLoop(EventLoop):
emulate_idle_callbacks = TrioIdleCallbackInstrument()
+ try:
+ add_instrument = self._trio.lowlevel.add_instrument
+ remove_instrument = self._trio.lowlevel.remove_instrument
+ except AttributeError:
+ # Trio 0.14 or older
+ add_instrument = self._trio.hazmat.add_instrument
+ remove_instrument = self._trio.hazmat.remove_instrument
+
with self._trio.MultiError.catch(self._handle_main_loop_exception):
- self._trio.hazmat.add_instrument(emulate_idle_callbacks)
+ add_instrument(emulate_idle_callbacks)
try:
await self._main_task()
finally:
- self._trio.hazmat.remove_instrument(emulate_idle_callbacks)
+ remove_instrument(emulate_idle_callbacks)
def watch_file(self, fd, callback):
"""Calls `callback()` when the given file descriptor has some data