import sys
import json
import logging

logging.basicConfig(level=logging.CRITICAL)

import hpfeeds


HOST = 'hpfriends.honeycloud.net'
PORT = 20000
CHANNELS = ['conpot.events', ]
IDENT = ''
SECRET = ''


def main():
    def on_message(identifier, channel, payload):
        try:
            decoded = json.loads(str(payload))
        except:
            decoded = {'raw': payload}
        print(decoded)

    def on_error(payload):
        print("Error message from server: {0}".format(payload))
        hpc.stop()

    hpc = hpfeeds.new(HOST, PORT, IDENT, SECRET, reconnect=True)
    print("Connected to {0}".format(hpc.brokername))
    hpc.subscribe(CHANNELS)
    hpc.run(on_message, on_error)
    hpc.close()
    return 0

if __name__ == '__main__':
    try:
        sys.exit(main())
    except KeyboardInterrupt:
        sys.exit(0)