diff --git a/qhp-download-list.py b/qhp-download-list.py new file mode 100644 index 0000000..8ff2e5d --- /dev/null +++ b/qhp-download-list.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 + +import sys +import argparse +import zmq +import io +import json +import csv +import datetime +import struct + +def main(): + parser = argparse.ArgumentParser(description='QHP client') + parser.add_argument('-q', '--qhp', action='store', dest='qhp', help='QHP endpoint', required=True) + + args = parser.parse_args() + + ctx = zmq.Context.instance() + s = ctx.socket(zmq.REQ) + s.connect(args.qhp) + + rq = { + "get_sec_list" : True, + } + + s.send_multipart([bytes(json.dumps(rq), "utf-8")]) + resp = s.recv() + + if resp != b'OK': + errmsg = s.recv_string() + print("Error:", errmsg) + sys.exit(1) + + + rawdata = b'' + while True: + if s.getsockopt(zmq.RCVMORE) == 0: + break + rawdata += s.recv() + + s = rawdata.decode('utf-8') + tickers = s.split(',') + for ticker in tickers: + print(ticker) + +if __name__ == '__main__': + main() +