A few helpful functions (written as examples in Python) to process an app response.
Remove empty timeframes
# Request made, this is the app response ...
output = response.json()
def trim_output(model_output):
""" Trim out empty records if they exist.
model_output: json response from app API endpoint
returns: list of results with empty timeframes removed
"""
trimmed = []
for result in model_output['results']:
if result['values'] == {}:
pass
else:
trimmed_output.append(result)
trimmed_output = trim_output(output)
Extract specific result from results set
# Convenient function to extract a single value from the results set.
def extract(attribute, results, first=False):
val = 'None'
for r in results:
if r['values'].get(attribute, ''):
val = r['values'].get(attribute)
if first:
return val
return val
first_rev_share_amount = extract('revenue_share', model_output_results, first=True)
last_rev_share_amount = extract('revenue_share', model_output_results)
Generate the URL to view the app results in a browser
from requests import Request
def generate_link(api_url, body):
summit_host = api_url.replace("api.usesummit.com/v1", "usesummit.com")
params = body.get('parameters', {})
options = body.get('options', {'options': {}})
params['start'] = options.get('start', '')
params['end'] = options.get('end', '')
p = Request('GET', summit_host, params=params).prepare()
return p.url
app_results_link = generate_link(API_URL, request_body)