def getPredictionLoop():
# Get eventual glucose from Loop via NS
eventualGlucoseRequest = "api/v1/devicestatus.json"
eventualGlucoseURL = nsURL + eventualGlucoseRequest
eventualGlucoseResponse = urllib.urlopen(eventualGlucoseURL).read().decode('utf-8')
eventualGlucoseData = json.loads(eventualGlucoseResponse)
# I'm unsure how to better accomplish what is happening below; the correct device entry may not be the 0th or 1st entry in the returned array ... need to search for it?
try:
eventualGlucose = eventualGlucoseData[0]["loop"]["predicted"]["values"][-1]
predictionStartTime = dateutil.parser.parse(eventualGlucoseData[0]["loop"]["predicted"]["startDate"])
predictionEndTime = predictionStartTime + datetime.timedelta(minutes=(5*(len(eventualGlucoseData[0]["loop"]["predicted"]["values"])-5)))
except:
eventualGlucose = eventualGlucoseData[1]["loop"]["predicted"]["values"][-1]
predictionStartTime = dateutil.parser.parse(eventualGlucoseData[1]["loop"]["predicted"]["startDate"])
predictionEndTime = predictionStartTime + datetime.timedelta(minutes=(5*(len(eventualGlucoseData[1]["loop"]["predicted"]["values"])-5)))
print("Eventual Glucose (Loop): " + str(eventualGlucose) + " " + glucoseUnit + " at " + predictionEndTime.astimezone(tzlocal()).strftime("%-I:%M:%S %p on %A, %B %d, %Y"))
print(" ... predicted at " + predictionStartTime.astimezone(tzlocal()).strftime("%-I:%M:%S %p on %A, %B %d, %Y"))
return eventualGlucose
评论列表
文章目录