baseimage-tutorial-framework/tfw/components/frontend/message_sender.py
2019-08-07 11:24:56 +02:00

39 lines
1.1 KiB
Python

class MessageSender:
def __init__(self, uplink):
self.uplink = uplink
def send(self, message, originator=None):
message = {
'key': 'message.send',
'message': message
}
if originator:
message['originator'] = originator
self.uplink.send_message(message)
def queue_messages(self, messages, originator=None):
message_queue = {
'key': 'message.queue',
'value': []
}
for message in messages:
next_message = {'message': message}
if originator:
next_message['originator'] = originator
message_queue['value'].append(next_message)
self.uplink.send_message(message_queue)
def set_originator(self, originator):
self.uplink.send_message({
'key': 'message.config',
'originator': originator
})
@staticmethod
def generate_messages_from_queue(queue_message):
for message in queue_message['value']:
yield {
'key': 'message.send',
**message
}