"""exsdk 1.1.2 example. Requires EXSDK_TOKEN; no credentials are embedded."""
import os
import argparse
import math
from exsdk import ExApi

parser = argparse.ArgumentParser()
parser.add_argument("--kind", choices=["FUTURE", "OPTION"], default="FUTURE")
parser.add_argument("--symbol")
args = parser.parse_args()
with ExApi(os.environ["EXSDK_TOKEN"]) as api:
    symbols = [args.symbol] if args.symbol else api.query_symbols(args.kind)
    if not symbols:
        raise RuntimeError("No matching contracts")
    quote = api.watch_quote(symbols[0])
    while api.wait_update():
        if quote.is_changing():
            q = quote.data()
            if q.timestamp and math.isfinite(q.last_price):
                print(q.symbol, q.trading_day, q.timestamp, q.last_price)
                print("bids", q.bids, "asks", q.asks)
