def send_text_message(message: TextMessage):
    # 1. Discard empty strings.
    if (message.get_text_message_content() == ''):
        raise Exception('Cannot send empty string')

    # 2. Ensure content is not offensive.
    check_for_offensive_content(message.get_text_message_content())

    # 3. Store the message safely.
    store_message(message)

    # 4. Deliver the message to the receiver.
    deliver_text_message_to_receiver(message)
def deliver_text_message_to_receiver(message: TextMessage):
    # If the message is too large, don't deliver the message directly.
    # For now, drop the message, in future it can be sent as a link to a storage bucket.
    if (message.get_text_message_size() > 100):
        raise Exception('Message too large to send {} > 100 bytes',
                        message.get_message_size())

    print('Message "{}" delivered successfully to {}'.format(
        message.get_text_message_content(), message.get_receiver()))
    pass
Esempio n. 3
0
def deliver_text_message_to_receiver(message: TextMessage):
    # Logic to actually send the message to the user. It may happen through some queueing mechanism.
    # Out of syllabus for this exercise :')

    # If the message is too large, don't deliver the message directly.
    # For now, drop the message, in future it can be sent as a link to a storage bucket.
    if (message.get_text_message_size() > 100):
        raise Exception('Message too large to send {} > 100 bytes',
                        message.get_message_size())

    print('Message "{}" delivered successfully to {}'.format(
        message.get_text_message_content(), message.get_receiver()))
    pass