Skip to content

Instantly share code, notes, and snippets.

@balaprasanna
Last active February 24, 2020 03:10
Show Gist options
  • Select an option

  • Save balaprasanna/960cec7e8f64e99d63e6cdf228f2ce97 to your computer and use it in GitHub Desktop.

Select an option

Save balaprasanna/960cec7e8f64e99d63e6cdf228f2ce97 to your computer and use it in GitHub Desktop.
python-assessment-iss
import requests
from datetime import datetime
import numpy as np
base_url= "http://165.22.250.235/api/assessment"
def Get(url:str, headers:dict = None):
if headers == None: headers = {}
resp = requests.get(url, headers=headers)
return resp
def Post(url: str, data: dict, headers: dict):
resp = requests.post(url, data=data, headers=headers)
return resp
def parse_date(course_date):
""""April 12 2020 -> MM-DD-YYYY """
course_date_dt = datetime.strptime(course_date, "%B %d %Y")
return course_date_dt.strftime('%m-%d-%Y')
def MakeFirstRequest(email:str, reg_date:str):
#return None, "75.149,81.059,86.706,136.644"
url = f"{base_url}/{email}?date={reg_date}"
resp = Get(url)
token = resp.headers.get("X-Assessment-Token")
#parse the sample
body = resp.json()
samples = body.get("samples")
return token, samples
def MakeSecondRequest(email, reg_date, TOKEN, samples):
samples_N = np.array(samples.strip().split(','), dtype=float)
mean , variance = samples_N.mean(), samples_N.var()
data = {
"email": email,
"date" : reg_date,
"samples": samples,
"mean" : mean,
"variance": variance,
"fileUrl": "https://gist.github.com/balaprasanna/960cec7e8f64e99d63e6cdf228f2ce97"
}
headers= {
"Content-Type": "application/x-www-form-urlencoded",
"X-Assessment-Token": TOKEN
}
resp = Post(base_url, data=data, headers=headers)
#return resp
if resp.status_code == 201: return "Done"
else: return "Try again. Something went wrong."
## MAIN code
email = "bala@gmail.com"
reg_date = parse_date("April 12 2020")
TOKEN, samples = MakeFirstRequest(email, reg_date)
MakeSecondRequest(email, reg_date, TOKEN, samples)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment