fixes subscription topic parsing

This commit is contained in:
Todd Treece 2015-06-03 16:58:15 -04:00
parent d24bbd5a7e
commit 6935aa94d4

View file

@ -85,10 +85,10 @@ class MQTTClient(object):
def _mqtt_message(self, client, userdata, msg): def _mqtt_message(self, client, userdata, msg):
logger.debug('Client on_message called.') logger.debug('Client on_message called.')
# Parse out the feed id and call on_message callback. # Parse out the feed id and call on_message callback.
# Assumes topic looks like "api/feeds/{feed}/data/receive.json" # Assumes topic looks like "username/feeds/id"
if self.on_message is not None and msg.topic.startswith('api/feeds/') \ parsed_topic = msg.topic.split('/')
and len(msg.topic) >= 28: if self.on_message is not None and self._username == parsed_topic[0]:
feed = msg.topic[10:-18] feed = parsed_topic[2]
payload = '' if msg.payload is None else msg.payload.decode('utf-8') payload = '' if msg.payload is None else msg.payload.decode('utf-8')
self.on_message(self, feed, payload) self.on_message(self, feed, payload)