from gzip import GzipFile
from cStringIO import StringIO
import zmq

context = zmq.Context()

subscriber = context.socket(zmq.XSUB)
subscriber.connect("tcp://127.0.0.1:7827")
subscriber.send(chr(0x01) + "/GOVI/KV8/GVB") # 0x01 = subscribe, 0x00 = unsubscribe

while True:
    multipart = subscriber.recv_multipart()
    address = multipart[0]
    contents = ''.join(multipart[1:])
    contents = GzipFile('','r',0,StringIO(contents)).read()
    print("[%s] %s\n" % (address, contents))

subscriber.close()
context.term()
