#! /bin/python3 from lbcapi import api import sys import os from urllib.parse import urlparse from urllib.parse import parse_qs import pdb arg_count = len(sys.argv) max_records = -1 if arg_count == 2: # print("A max count of", sys.argv[1] ,"has been provided") max_records = int(sys.argv[1]) if "LB_HMAC_KEY" in os.environ and "LB_HMAC_SECRET" in os.environ : hmac_key = os.environ["LB_HMAC_KEY"] hmac_secret = os.environ["LB_HMAC_SECRET"] else : print("LB_HMAC_KEY and LB_HMAC_SECRET env variables must be set") exit(1) conn = api.hmac(hmac_key, hmac_secret) exported_count = 0 # print("About to call the API for the first time") params = {'order_by': ['-closed_at'], 'fields': 'released_at,contact_id,amount, closed_at, canceled_at'} api_res = conn.call('GET', '/api/dashboard/released/seller/', params = params).json() trades = api_res["data"]["contact_list"] next_page_available = True while next_page_available == True : # import pdb; pdb.set_trace() for trade in trades: data = trade["data"] print(data["released_at"] + "," + str(data["contact_id"]) + "," + data["amount"]) exported_count = exported_count + 1 if max_records != -1 and exported_count == max_records: exit(0) if "pagination" in api_res and "next" in api_res["pagination"] : # print("We have a next page!") pagination_data = urlparse(api_res["pagination"]["next"]) next_params = parse_qs(pagination_data.query) api_res = conn.call('GET', '/api/dashboard/released/seller/', params = next_params).json() trades = api_res["data"]["contact_list"] else : # print("No next page available!") next_page_available = False