From 31ebc3296398c83d8c57e9f7f36e65822c15bc73 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Wed, 5 Sep 2018 14:03:45 +0200 Subject: [PATCH] hackishly convert all large longs to strings -- probably a bit fragile --- python/tests/test_lowlevel.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/python/tests/test_lowlevel.py b/python/tests/test_lowlevel.py index 9786e5f5..e7024389 100644 --- a/python/tests/test_lowlevel.py +++ b/python/tests/test_lowlevel.py @@ -39,9 +39,15 @@ def test_basic_events(dc_context, dc_threads, register_dc_callback, tmpdir, user while 1: evt1, data1, data2 = q.get(timeout=1.0) - if evt1 == capi.lib.DC_EVENT_INFO: - s = ffi.string(ffi.cast('char*', data2)) - print ("info event", s) - elif evt1: - name = get_dc_event_name(evt1) - print ("other event", name, data1, data2) + data1 = try_cast_to_string(data1) + data2 = try_cast_to_string(data2) + evt_name = get_dc_event_name(evt1) + print (evt_name, data1, data2) + + +def try_cast_to_string(obj): + if isinstance(obj, long): + if obj > 100000: + return ffi.string(ffi.cast('char*', obj)) + # print ("failed to convert", repr(obj)) + return obj