test: Support receiving SMS with non-ASCII chars
authorNeil Jerram <neil@ossau.homelinux.net>
Fri, 21 Nov 2014 01:48:26 +0000 (01:48 +0000)
committerDenis Kenzior <denkenz@gmail.com>
Mon, 24 Nov 2014 18:29:45 +0000 (12:29 -0600)
Without this I get the following Python traceback, for an SMS that
contains the UK pound sign.

ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "./receive-sms", line 9, in incoming_message
    print("%s" % (message))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 51: ordinal not in range(128)

test/receive-sms

index a0c6915..f5e247e 100755 (executable)
@@ -6,7 +6,7 @@ import dbus
 import dbus.mainloop.glib
 
 def incoming_message(message, details, path, interface):
-       print("%s" % (message))
+       print("%s" % (message.encode('utf-8')))
 
        for key in details:
                val = details[key]