Made the Pushbullet backend more resilient in case of rogue messages with no type specified

This commit is contained in:
Fabio Manganiello 2018-05-13 11:39:55 +02:00
parent d75326bbe8
commit 5e3b41c3ad
1 changed files with 3 additions and 2 deletions

View File

@ -51,7 +51,8 @@ class PushbulletBackend(Backend):
if not isinstance(msg, dict): return True # We received something weird if not isinstance(msg, dict): return True # We received something weird
is_duplicate=False is_duplicate=False
last_msg = self._last_received_msg[msg['type']] msgtype = msg['type'] if 'type' in msg else 'notype'
last_msg = self._last_received_msg[msgtype]
if last_msg: if last_msg:
msg = Message.parse(msg) msg = Message.parse(msg)
@ -62,7 +63,7 @@ class PushbulletBackend(Backend):
logging.debug('Ignoring duplicate message received on the socket') logging.debug('Ignoring duplicate message received on the socket')
is_duplicate = True is_duplicate = True
self._last_received_msg[msg['type']] = { self._last_received_msg[msgtype] = {
'body': msg, 'time': time.time() 'body': msg, 'time': time.time()
} }