commit 7e9ea4dbb80e81d2a977937ccfca57bb41e20270 Author: Damian Johnson atagar@torproject.org Date: Thu Nov 18 13:42:22 2021 -0800
Make exit_used.py compatible with asyncio
Honestly this is probably somewhat a step backward because if I return to Stem I plan to substantially revert the asyncio migration, but for now simply fixing the script. With the current codebase it fails with...
% python exit_used.py Tracking requests for tor exits. Press 'enter' to end.
stem/stem/control.py:4004: RuntimeWarning: coroutine 'Controller.get_circuit' was never awaited log.warn('Event listener raised an uncaught exception (%s): %s' % (exc, event)) --- docs/_static/example/exit_used.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/_static/example/exit_used.py b/docs/_static/example/exit_used.py index 296b0864..4462620e 100644 --- a/docs/_static/example/exit_used.py +++ b/docs/_static/example/exit_used.py @@ -17,18 +17,18 @@ def main(): input() # wait for user to press enter
-def stream_event(controller, event): +async def stream_event(controller, event): if event.status == StreamStatus.SUCCEEDED and event.circ_id: - circ = controller.get_circuit(event.circ_id) + circ = await controller.get_circuit(event.circ_id)
exit_fingerprint = circ.path[-1][0] - exit_relay = controller.get_network_status(exit_fingerprint) + exit_relay = await controller.get_network_status(exit_fingerprint)
print('Exit relay for our connection to %s' % (event.target)) print(' address: %s:%i' % (exit_relay.address, exit_relay.or_port)) print(' fingerprint: %s' % exit_relay.fingerprint) print(' nickname: %s' % exit_relay.nickname) - print(' locale: %s' % controller.get_info('ip-to-country/%s' % exit_relay.address, 'unknown')) + print(' locale: %s' % (await controller.get_info('ip-to-country/%s' % exit_relay.address), 'unknown')) print('')
tor-commits@lists.torproject.org