Private
Public Access
1
0

Merge branch 'release/v6.66'

This commit is contained in:
Sander Roosendaal
2018-05-17 12:36:02 +02:00
3 changed files with 44 additions and 36 deletions

View File

@@ -833,7 +833,7 @@ def cp_from_workoutids(workoutids,debug=False):
if df.empty: if df.empty:
# change this # change this
return 2 return 0,0,0
# df is not empty. We continue # df is not empty. We continue
dfgrouped = df.groupby(['workoutid']) dfgrouped = df.groupby(['workoutid'])
@@ -910,17 +910,21 @@ def handle_updatefitnessmetric(user_id,mode,workoutids,debug=False,
powerfourmin,power2k,powerhour = cp_from_workoutids(workoutids,debug=debug) powerfourmin,power2k,powerhour = cp_from_workoutids(workoutids,debug=debug)
mdict = { if powerfourmin > 0 and power2k > 0 and powerhour > 0:
'user_id': user_id,
'PowerFourMin': powerfourmin,
'PowerTwoK': power2k,
'PowerOneHour': powerhour,
'workoutmode': mode,
'last_workout': max(workoutids),
'date': timezone.now().strftime('%Y-%m-%d'),
}
result = fitnessmetric_to_sql(mdict,debug=debug,doclean=True) mdict = {
'user_id': user_id,
'PowerFourMin': powerfourmin,
'PowerTwoK': power2k,
'PowerOneHour': powerhour,
'workoutmode': mode,
'last_workout': max(workoutids),
'date': timezone.now().strftime('%Y-%m-%d'),
}
result = fitnessmetric_to_sql(mdict,debug=debug,doclean=True)
else:
result = 0
return result return result
@@ -981,6 +985,7 @@ def handle_makeplot(f1, f2, t, hrdata, plotnr, imagename,
elif (plotnr == 2): elif (plotnr == 2):
fig1 = row.get_metersplot_erg(t) fig1 = row.get_metersplot_erg(t)
elif (plotnr == 3): elif (plotnr == 3):
t += ' - Heart Rate Distribution'
fig1 = row.get_piechart(t) fig1 = row.get_piechart(t)
elif (plotnr == 4): elif (plotnr == 4):
if haspower: if haspower:
@@ -993,6 +998,7 @@ def handle_makeplot(f1, f2, t, hrdata, plotnr, imagename,
else: else:
fig1 = row.get_metersplot_otw(t) fig1 = row.get_metersplot_otw(t)
elif (plotnr == 6): elif (plotnr == 6):
t += ' - Heart Rate Distribution'
fig1 = row.get_piechart(t) fig1 = row.get_piechart(t)
elif (plotnr == 7) or (plotnr == 10): elif (plotnr == 7) or (plotnr == 10):
fig1 = row.get_metersplot_erg2(t) fig1 = row.get_metersplot_erg2(t)
@@ -1001,6 +1007,7 @@ def handle_makeplot(f1, f2, t, hrdata, plotnr, imagename,
elif (plotnr == 9) or (plotnr == 12): elif (plotnr == 9) or (plotnr == 12):
fig1 = row.get_time_otwpower(t) fig1 = row.get_time_otwpower(t)
elif (plotnr == 13) or (plotnr == 16): elif (plotnr == 13) or (plotnr == 16):
t += ' - Power Distribution'
fig1 = row.get_power_piechart(t) fig1 = row.get_power_piechart(t)
canvas = FigureCanvas(fig1) canvas = FigureCanvas(fig1)

View File

@@ -8,7 +8,7 @@ import requests
import requests.auth import requests.auth
import json import json
from django.utils import timezone from django.utils import timezone
from datetime import datetime from datetime import datetime,timedelta
import numpy as np import numpy as np
from dateutil import parser from dateutil import parser
import time import time
@@ -104,7 +104,7 @@ def underarmour_open(user):
expires_in = res[1] expires_in = res[1]
refresh_token = res[2] refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in) expirydatetime = timezone.now()+timedelta(seconds=expires_in)
r = getrower(request.user) r = getrower(request.user)
r.underarmourtoken = access_token r.underarmourtoken = access_token
@@ -205,10 +205,12 @@ def get_underarmour_workout_list(user):
'Api-Key': UNDERARMOUR_CLIENT_KEY, 'Api-Key': UNDERARMOUR_CLIENT_KEY,
'user-agent': 'sanderroosendaal', 'user-agent': 'sanderroosendaal',
'Content-Type': 'application/json'} 'Content-Type': 'application/json'}
url = "https://api.ua.com/v7.1/workout/?user="+str(get_userid(r.underarmourtoken)) url = "https://api.ua.com/v7.1/workout/?user="+str(get_userid(r.underarmourtoken))+"&order_by=-start_datetime"
s = requests.get(url,headers=headers) s = requests.get(url,headers=headers)
return s return s
# Get workout summary data by Underarmour ID # Get workout summary data by Underarmour ID
@@ -408,7 +410,8 @@ def get_userid(access_token):
'Api-Key': UNDERARMOUR_CLIENT_KEY, 'Api-Key': UNDERARMOUR_CLIENT_KEY,
'user-agent': 'sanderroosendaal', 'user-agent': 'sanderroosendaal',
'Content-Type': 'application/json'} 'Content-Type': 'application/json'}
url = "https://api.ua.com/v7.1/user/self"
url = "https://api.ua.com/v7.1/user/self/"
response = requests.get(url,headers=headers) response = requests.get(url,headers=headers)
me_json = response.json() me_json = response.json()

View File

@@ -9561,25 +9561,23 @@ def workout_underarmourimport_view(request,message=""):
workouts = [] workouts = []
items = res.json()['_embedded']['workouts'] items = res.json()['_embedded']['workouts']
for item in items: for item in items:
if 'has_time_series' in item: s = item['start_datetime']
if item['has_time_series']: i,r = underarmourstuff.get_idfromuri(request.user,item['_links'])
s = item['start_datetime'] n = item['name']
i,r = underarmourstuff.get_idfromuri(request.user,item['_links']) try:
n = item['name'] d = item['aggregates']['distance_total']
try: except KeyError:
d = item['aggregates']['distance_total'] d = 0
except KeyError: try:
d = 0 ttot = item['aggregates']['active_time_total']
try: except KeyError:
ttot = item['aggregates']['active_time_total'] ttot = 0
except KeyError:
ttot = 0
keys = ['id','distance','duration','starttime','type'] keys = ['id','distance','duration','starttime','type']
values = [i,d,ttot,s,r] values = [i,d,ttot,s,r]
thedict = dict(zip(keys,values)) thedict = dict(zip(keys,values))
workouts.append(thedict) workouts.append(thedict)
return render(request,'underarmour_list_import.html', return render(request,'underarmour_list_import.html',
{'workouts':workouts, {'workouts':workouts,