Ejemplo n.º 1
0
def process_messages(msg_store, sub, filters, match_writer):

    logger.info("started processor")
    last_msg = 0

    for m in sub.listen():
        msg_data = m['data']
        msg = Message.decode(msg_data)
        last_msg = msg.msg_id

        logger.info(msg.text)

        msg_store.save_message(msg)

        # check msg from the past, so we have some
        # context for our matches
        msg_to_check = msg_store.get_message(msg.channel, last_msg - 5)

        if msg_to_check:
            matches = check_matches(msg_to_check.text, filters)
            if len(matches) > 0:
                match_context = get_context(
                    msg_store, msg_to_check.channel, msg_to_check.msg_id)
                match_writer.save(
                    msg_to_check.channel,
                    matches,
                    match_context)
Ejemplo n.º 2
0
def test_message_encode_and_decode_completeness():
    m = Message(0, 'mychannel', 'rth', 'message text')

    e = m.encode()
    msg = Message.decode(e)

    assert_equal(msg.msg_id, 0)
    assert_equal(msg.channel, 'mychannel')
    assert_equal(msg.nick, 'rth')
    assert_equal(msg.text, 'message text')