Exactly. Note that this will fail on python3 though, because "unicode" doesn't exist.
On Mon, Feb 11, 2013 at 9:32 PM, Alexander Bolotnov <abolot...@gmail.com> wrote: > got you, so the following in publish(): > > if isinstance(payload, str) == True or isinstance(payload, bytearray) == > True: > local_payload = payload > > should actually be something like > > if payload and type(payload) in (str, unicode, bytearray): > local_payload = payload > > I guess > thanks, > > > > Sasha Bolotnov > www.bolotnov.info > > > > On Tue, Feb 12, 2013 at 1:20 AM, Roger Light <ro...@atchoo.org> wrote: >> >> Hi >> >> > I'm now using a dirty walkaround: >> > >> > def send_message(self, topic, message): >> > if type(message) == unicode: >> > message = str(message).encode('string_escape') >> > result, some_number = Client.mc.publish(topic, message) >> >> mosquitto.py does actually support python 2.7 unicode data types later >> down the line, it just rejects them at the publish() call by mistake. >> For both python 2.7 and python 3, the _send_publish() function calls >> message.encode('utf-8') to encode as utf-8. If you want to use a >> different encoding just call message.encode('.....') before passing it >> to the publish() call. >> >> Cheers, >> >> Roger > > -- Mailing list: https://launchpad.net/~mosquitto-users Post to : mosquitto-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~mosquitto-users More help : https://help.launchpad.net/ListHelp